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 |  267 +++++++----------------------------------------------
 1 files changed, 37 insertions(+), 230 deletions(-)

diff --git a/HDL_ON/Entity/Function/Light.cs b/HDL_ON/Entity/Function/Light.cs
index 34d5363..c7546c7 100644
--- a/HDL_ON/Entity/Function/Light.cs
+++ b/HDL_ON/Entity/Function/Light.cs
@@ -4,182 +4,28 @@
 
 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()
-        {
-        }
-
-        [Newtonsoft.Json.JsonIgnore]
-        FunctionAttributes trait_brightness;
-        /// <summary>
-        /// 浜害鍊�
-        /// </summary>
-        [Newtonsoft.Json.JsonIgnore]
-        public int brightness
-        {
-            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,
-                            curValue = 0,
-                        };
-                    }
-                    if (trait_brightness.curValue.ToString() == "{}")
-                        trait_brightness.curValue = 0;
-                }
-                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
-            {
-                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,
-                                curValue = 0
-                            };
-                        }
-                    }
-                    trait_brightness.curValue = value;
-                }
-                catch
-                {
-                    MainPage.Log("brightness 鏁版嵁鍒锋柊澶辫触.");
-                }
-            }
-        }
-        /// <summary>
-        /// 涓婁竴娆℃墦寮�鐨勪寒搴�
-        /// </summary>
-        [Newtonsoft.Json.JsonIgnore]
-        public int lastBrightness = 100;
-        [Newtonsoft.Json.JsonIgnore]
-        FunctionAttributes trait_fadeTime;
-        /// <summary>
-        /// 浜害鍊�
-        /// </summary>
-        [Newtonsoft.Json.JsonIgnore]
-        public int fadeTime
-        {
-            get
-            {
-                if (trait_fadeTime == null)
-                {
-                    trait_fadeTime = attributes.Find((obj) => obj.key == FunctionAttributeKey.FadeTime);
-                    //鎵句笉鍒板睘鎬ч渶瑕佸0鏄庝竴涓紝闃叉鎶ラ敊闂��
-                    if (trait_fadeTime == null)
-                    {
-                        trait_fadeTime = new FunctionAttributes()
-                        {
-                            key = FunctionAttributeKey.FadeTime,
-                            value = new List<string> { "up", "down" },
-                            max = 10,
-                            min = 0,
-                            curValue = 0
-                        };
-                    }
-                }
-                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 == FunctionAttributeKey.FadeTime);
-                        //鎵句笉鍒板睘鎬ч渶瑕佸0鏄庝竴涓紝闃叉鎶ラ敊闂��
-                        if (trait_fadeTime == null)
-                        {
-                            trait_fadeTime = new FunctionAttributes()
-                            {
-                                key = FunctionAttributeKey.FadeTime,
-                                value = new List<string> { "up", "down" },
-                                max = 100,
-                                min = 0,
-                                curValue = 0
-                            };
-                        }
-                    }
-                    trait_fadeTime.curValue = value;
-                }
-                catch
-                {
-                }
-            }
-        }
-
         #region RGB
         /// <summary>
         /// 鑾峰彇rgb棰滆壊
         /// </summary>
         /// <returns></returns>
-        public int GetRGBcolor()
+        public int GetRGBcolor(Function function )
         {
-            if (trait_color == null)
+            var color = function.GetAttrState(FunctionAttributeKey.RGB).Split(",");
+
+            if(color.Length!= 3)
             {
-                trait_color = attributes.Find((obj) => obj.key == FunctionAttributeKey.RGB);
-                //鎵句笉鍒板睘鎬ч渶瑕佸0鏄庝竴涓紝闃叉鎶ラ敊闂��
-                if (trait_color == null)
-                {
-                    trait_color = new FunctionAttributes()
-                    {
-                        key = "color",
-                        value = new List<string> { "255,255,255" },
-                        curValue = "255,255,255"
-                    };
-                }
-                if (trait_color.curValue.ToString() == "{}")
-                    trait_color.curValue = "255,255,255";
+                color = new string[] {"100", "100", "100" };
             }
-            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 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;
 
@@ -189,79 +35,40 @@
         /// 鑾峰彇rgb 鎺у埗瀛楃涓�
         /// </summary>
         /// <returns></returns>
-        public string GetRGBcolorString()
+        public string GetRGBcolorString(Function function)
         {
-            return redColor + "," + greenColor + "," + blueColor;
+            var color = function.GetAttrState(FunctionAttributeKey.RGB).Split(",");
+            return color[0] + "," + color[1] + "," + color[2];
+        }
+
+        /// <summary>
+        /// 鑾峰彇rgb棰滆壊
+        /// </summary>
+        /// <param name="index">0:red 1:green 2:blue</param>
+        /// <returns></returns>
+        public int GetColor( int index,Function function)
+        {
+            int color = 0;
+            if (index <= 2)
+            {
+                try
+                {
+                    int.TryParse(function.GetAttrState(FunctionAttributeKey.RGB).Split(",")[index], out color);
+                }
+                catch { }
+            }
+            return color;
         }
 
         /// <summary>
         /// 璁剧疆rgb棰滆壊
         /// </summary>
-        public void SetRGBcolor(byte[] color)
+        public void SetRGBcolor(byte[] color,Function function)
         {
-            redColor = color[0];
-            greenColor = color[1];
-            blueColor = color[2];
-            trait_color.curValue = redColor + "," + greenColor + "," + blueColor;
+            function.SetAttrState(FunctionAttributeKey.RGB, color[0] + "," + color[1] + "," + color[2]);
         }
 
-        [Newtonsoft.Json.JsonIgnore]
-        public FunctionAttributes trait_color;
-        int redColor = 255;
-        int greenColor = 255;
-        int blueColor = 255;
-
-        public int RedColor {
-            get
-            {
-                return redColor;
-            }
-        }
-        public int GreenColor {
-            get
-            {
-                return greenColor;
-            }
-        }
-        public int BlueColor
-        {
-            get
-            {
-                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