| | |
| | | { |
| | | 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> |
| | |
| | | /// </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 |
| | |
| | | } |
| | | 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; |
| | | |
| | |
| | | redColor = color[0]; |
| | | greenColor = color[1]; |
| | | blueColor = color[2]; |
| | | trait_color.curValue = redColor + "," + greenColor + "," + blueColor; |
| | | } |
| | | |
| | | [Newtonsoft.Json.JsonIgnore] |