From 4d14154c36ac5692aadc036eed97fb9f1c410e2a Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期日, 23 五月 2021 14:46:03 +0800
Subject: [PATCH] Merge branch 'WJC' into temp-wxr
---
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..65d6f5a 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