From 2ae36ddb40d28c62b64a2fdd4c3033e7d65d5cfb Mon Sep 17 00:00:00 2001 From: wei <kaede@kaededeMacBook-Air.local> Date: 星期四, 04 三月 2021 15:20:29 +0800 Subject: [PATCH] 2021-0304-1 --- HDL_ON/Entity/Function/Light.cs | 107 ++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 88 insertions(+), 19 deletions(-) diff --git a/HDL_ON/Entity/Function/Light.cs b/HDL_ON/Entity/Function/Light.cs index e611406..0ddbb56 100644 --- a/HDL_ON/Entity/Function/Light.cs +++ b/HDL_ON/Entity/Function/Light.cs @@ -6,20 +6,6 @@ { public class Light : Function { - /* - 鐏厜绫伙細trait: [switch,brightness,color,cct,delay,fadeTime] - 灞炴�� 鎻忚堪 - switch on/off; - brightness 0-100; - color int (red (0-255) green (0-255) blue (0-255)) - cct int (warm light(0-255) cold light (0-255) ) - delay 0-3600s - fadetime 0-3600s - */ - public Light() - { - } - [Newtonsoft.Json.JsonIgnore] FunctionAttributes trait_brightness; /// <summary> @@ -48,7 +34,20 @@ if (trait_brightness.curValue.ToString() == "{}") trait_brightness.curValue = 0; } - return Convert.ToInt32(trait_brightness.curValue); + try + { + string textValue = trait_brightness.curValue.ToString(); + if (textValue == string.Empty) + { + trait_brightness.curValue = 0; + } + return Convert.ToInt32(trait_brightness.curValue); + } + catch + { + trait_brightness.curValue = 0; + return 0; + } } set { @@ -83,10 +82,44 @@ /// </summary> [Newtonsoft.Json.JsonIgnore] public int lastBrightness = 100; + + int hadFadeTime = 99; + /// <summary> + /// 鏄惁鎷ユ湁娓愬彉鏃堕棿 + /// </summary> + public bool HadFadeTime + { + get + { + if (hadFadeTime == 99) + { + var t = attributes.Find((obj) => obj.key == FunctionAttributeKey.FadeTime); + if (t == null) + { + hadFadeTime = 0; + return false; + } + else + { + hadFadeTime = 1; + return true; + } + } + if (hadFadeTime == 1) + { + return true; + } + else + { + return false; + } + } + } + [Newtonsoft.Json.JsonIgnore] FunctionAttributes trait_fadeTime; /// <summary> - /// 浜害鍊� + /// 娓愬彉鏃堕棿 /// </summary> [Newtonsoft.Json.JsonIgnore] public int fadeTime @@ -140,6 +173,8 @@ } } } + + #region RGB /// <summary> /// 鑾峰彇rgb棰滆壊 /// </summary> @@ -161,10 +196,10 @@ } if (trait_color.curValue.ToString() == "{}") trait_color.curValue = "255,255,255"; - int.TryParse(trait_color.curValue.ToString().Split(",")[0], out redColor); - int.TryParse(trait_color.curValue.ToString().Split(",")[1], out greenColor); - int.TryParse(trait_color.curValue.ToString().Split(",")[2], out blueColor); } + int.TryParse(trait_color.curValue.ToString().Split(",")[0], out redColor); + int.TryParse(trait_color.curValue.ToString().Split(",")[1], out greenColor); + int.TryParse(trait_color.curValue.ToString().Split(",")[2], out blueColor); int recolor = redColor * 256 * 256 + greenColor * 256 + blueColor; @@ -187,6 +222,7 @@ redColor = color[0]; greenColor = color[1]; blueColor = color[2]; + trait_color.curValue = redColor + "," + greenColor + "," + blueColor; } [Newtonsoft.Json.JsonIgnore] @@ -214,5 +250,38 @@ return blueColor; } } + #endregion + + #region CCT + FunctionAttributes attr_CCT; + /// <summary> + /// 鑹叉俯 + /// </summary> + [Newtonsoft.Json.JsonIgnore] + public FunctionAttributes Attr_CCT + { + get + { + if(attr_CCT == null) + { + attr_CCT = attributes.Find((obj) => obj.key == FunctionAttributeKey.CCT); + if(attr_CCT== null) + { + attr_CCT = new FunctionAttributes() + { + key = FunctionAttributeKey.CCT, + value = new List<string> (), + max = 6500, + min = 2700, + curValue = 2700 + }; + } + } + var result = 2700; + int.TryParse(attr_CCT.curValue.ToString(), out result); + return attr_CCT; + } + } + #endregion } } -- Gitblit v1.8.0