From 43b0d5870d528f23ecd6aeceb6cfd4325188b46f Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期四, 01 七月 2021 15:50:43 +0800 Subject: [PATCH] Revert "1" --- HDL_ON/Entity/Function/Light.cs | 289 +++++++++------------------------------------------------ 1 files changed, 47 insertions(+), 242 deletions(-) diff --git a/HDL_ON/Entity/Function/Light.cs b/HDL_ON/Entity/Function/Light.cs index df73832..c7546c7 100644 --- a/HDL_ON/Entity/Function/Light.cs +++ b/HDL_ON/Entity/Function/Light.cs @@ -4,266 +4,71 @@ namespace HDL_ON.Entity { - public class Light : Function + public class Light { - /* - 鐏厜绫伙細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() + #region RGB + /// <summary> + /// 鑾峰彇rgb棰滆壊 + /// </summary> + /// <returns></returns> + public int GetRGBcolor(Function function ) { + var color = function.GetAttrState(FunctionAttributeKey.RGB).Split(","); + + if(color.Length!= 3) + { + color = new string[] {"100", "100", "100" }; + } + int redColor = 0; + int greenColor = 0; + int blueColor = 0; + + int.TryParse(color[0], out redColor); + int.TryParse(color[1], out greenColor); + int.TryParse(color[2], out blueColor); + + int recolor = redColor * 256 * 256 + greenColor * 256 + blueColor; + + return recolor; + } + /// <summary> + /// 鑾峰彇rgb 鎺у埗瀛楃涓� + /// </summary> + /// <returns></returns> + public string GetRGBcolorString(Function function) + { + var color = function.GetAttrState(FunctionAttributeKey.RGB).Split(","); + return color[0] + "," + color[1] + "," + color[2]; } - [Newtonsoft.Json.JsonIgnore] - FunctionAttributes trait_brightness; /// <summary> - /// 浜害鍊� + /// 鑾峰彇rgb棰滆壊 /// </summary> - [Newtonsoft.Json.JsonIgnore] - public int brightness + /// <param name="index">0:red 1:green 2:blue</param> + /// <returns></returns> + public int GetColor( int index,Function function) { - get - { - if (trait_brightness == null) - { - trait_brightness = attributes.Find((obj) => obj.key == "brightness"); - //鎵句笉鍒板睘鎬ч渶瑕佸0鏄庝竴涓紝闃叉鎶ラ敊闂�� - if (trait_brightness == null) - { - trait_brightness = new FunctionAttributes() - { - key = "brightness", - value = new List<string> { "up", "down" }, - max = 100, - min = 0, - }; - } - trait_brightness.curValue = trait_brightness.min; - } - if(trait_brightness.curValue.ToString() == "") - { - trait_brightness.curValue = 0; - } - return Convert.ToInt32(trait_brightness.curValue); - } - set + int color = 0; + if (index <= 2) { try { - if (trait_brightness == null) - { - trait_brightness = attributes.Find((obj) => obj.key == "brightness"); - //鎵句笉鍒板睘鎬ч渶瑕佸0鏄庝竴涓紝闃叉鎶ラ敊闂�� - if (trait_brightness == null) - { - trait_brightness = new FunctionAttributes() - { - key = "brightness", - value = new List<string> { "up", "down" }, - max = 100, - min = 0, - }; - } - trait_brightness.curValue = trait_brightness.min; - } - trait_brightness.curValue = value; - MainPage.Log($"brightness 鏁版嵁鍒锋柊{value}."); + int.TryParse(function.GetAttrState(FunctionAttributeKey.RGB).Split(",")[index], out color); } - catch - { - MainPage.Log("brightness 鏁版嵁鍒锋柊澶辫触."); - } + catch { } } + return color; } - [Newtonsoft.Json.JsonIgnore] - FunctionAttributes trait_fadeTime; /// <summary> - /// 浜害鍊� + /// 璁剧疆rgb棰滆壊 /// </summary> - [Newtonsoft.Json.JsonIgnore] - public int fadeTime + public void SetRGBcolor(byte[] color,Function function) { - get - { - if (trait_fadeTime == null) - { - trait_fadeTime = attributes.Find((obj) => obj.key == "fade_time"); - //鎵句笉鍒板睘鎬ч渶瑕佸0鏄庝竴涓紝闃叉鎶ラ敊闂�� - if (trait_fadeTime == null) - { - trait_fadeTime = new FunctionAttributes() - { - key = "fade_time", - value = new List<string> { "up", "down" }, - max = 10, - min = 0, - }; - trait_fadeTime.curValue = 0; - attributes.Add(trait_fadeTime); - } - } - int result = 0; - int.TryParse(trait_fadeTime.curValue.ToString(), out result); - return result; - } - set - { - try - { - if (trait_fadeTime == null) - { - trait_fadeTime = attributes.Find((obj) => obj.key == "fade_time"); - //鎵句笉鍒板睘鎬ч渶瑕佸0鏄庝竴涓紝闃叉鎶ラ敊闂�� - if (trait_fadeTime == null) - { - trait_fadeTime = new FunctionAttributes() - { - key = "fade_time", - value = new List<string> { "up", "down" }, - max = 100, - min = 0, - }; - trait_fadeTime.curValue = 0; - attributes.Add(trait_fadeTime); - } - } - trait_fadeTime.curValue = value; - } - catch - { - } - } + function.SetAttrState(FunctionAttributeKey.RGB, color[0] + "," + color[1] + "," + color[2]); } - [Newtonsoft.Json.JsonIgnore] - public FunctionAttributes trait_color; - /// <summary> - /// RGB棰滆壊 - /// 255255255 - /// </summary> - [Newtonsoft.Json.JsonIgnore] - public int color - { - get - { - if (trait_color == null) - { - trait_color = attributes.Find((obj) => obj.key == "color"); - //鎵句笉鍒板睘鎬ч渶瑕佸0鏄庝竴涓紝闃叉鎶ラ敊闂�� - if (trait_color == null) - { - trait_color = new FunctionAttributes() - { - key = "color", - value = new List<string> { "FFFFFF" }, - max = 0xFFFFFF, - min = 0x00000F, - }; - } - trait_color.curValue = trait_color.min; - } - return Convert.ToInt32(trait_color.curValue); - } - set - { - try - { - trait_color.curValue = value; - } - catch - { - MainPage.Log("color 鏁版嵁鍒锋柊澶辫触."); - } - } - } - [Newtonsoft.Json.JsonIgnore] - public int redColor - { - get { - try - { - return color >> 16; - } - catch (Exception ex) - { - MainPage.Log($"Get red color error : {ex.Message}"); - return 0; - } - } - set - { - try - { - var rc = value << 16; - color = rc + (color & 0xFFFF); - } - catch (Exception ex) - { - MainPage.Log($"set red color error : {ex.Message}"); - } - } - } - [Newtonsoft.Json.JsonIgnore] - public int greenColor - { - get - { - try - { - return (color & 0xFFFF) >> 8; - } - catch (Exception ex) - { - MainPage.Log($"Get green color error : {ex.Message}"); - return 0; - } - } - set - { - try - { - var gc = value << 8; - color = gc + (color & 0xFF00FF); - } - catch (Exception ex) - { - MainPage.Log($"set green color error : {ex.Message}"); - } - } - } - [Newtonsoft.Json.JsonIgnore] - public int blueColor - { - get - { - try - { - return color & 0xFF; - } - catch (Exception ex) - { - MainPage.Log($"Get blue color error : {ex.Message}"); - return 0; - } - } - set - { - try - { - color = value + (color & 0xFFFF00); - } - catch (Exception ex) - { - MainPage.Log($"set blue color error : {ex.Message}"); - } - } - } + #endregion + } } -- Gitblit v1.8.0