From 02498f7744e6fdc413e518f96b25f3635540dc6b Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期二, 15 十一月 2022 11:27:38 +0800
Subject: [PATCH] 金茂科技系统更新
---
HDL_ON/UI/UI2/FuntionControlView/Light/LightScene/AddLightScene.cs | 217 +++++++++++++++++++++++++++++++++++-------------------
1 files changed, 140 insertions(+), 77 deletions(-)
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Light/LightScene/AddLightScene.cs b/HDL_ON/UI/UI2/FuntionControlView/Light/LightScene/AddLightScene.cs
index 03ed12d..ee30315 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Light/LightScene/AddLightScene.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Light/LightScene/AddLightScene.cs
@@ -342,6 +342,14 @@
/// </summary>
public class LightSceneEditDialog :Dialog
{
+
+
+ Dictionary<string, string> d = new Dictionary<string, string>();
+ List<Function> listSwitch = new List<Function>();
+ List<Function> lightDimming = new List<Function>();
+ List<Function> lightCCT = new List<Function>();
+ List<Function> lightRGB = new List<Function>();
+
/// <summary>
/// 浼犲叆鐨勭伅鍏夊垪琛�
/// 鍔犲叆鍦烘櫙鎺у埗鍔熻兘鍒楄〃
@@ -369,9 +377,14 @@
{
commandDic.Add(FunctionAttributeKey.OnOff, "off");
- var hadDimming = lights.Find((obj) => obj.spk == SPK.LightDimming) != null;
- var hadCCT = lights.Find((obj) => obj.spk == SPK.LightCCT) != null;
- var hadRGB = lights.Find((obj) => obj.spk == SPK.LightRGB) != null;
+ listSwitch = lights.FindAll((obj) => obj.spk == SPK.LightSwitch);
+ lightDimming = lights.FindAll((obj) => obj.spk == SPK.LightDimming);
+ lightCCT = lights.FindAll((obj) => obj.spk == SPK.LightCCT);
+ lightRGB = lights.FindAll((obj) => obj.spk == SPK.LightRGB);
+
+ var hadDimming = lightDimming.Count > 0;
+ var hadCCT = lightCCT.Count > 0;
+ var hadRGB = lightRGB.Count > 0;
var bodyView = new FrameLayout();
this.AddChidren(bodyView);
@@ -426,7 +439,7 @@
};
titleView.AddChidren(btnEditIcon);
- Action<string> callBack = (str) =>
+ Action<string> callBack = (str) =>
{
//鍚嶇О涓嶈兘涓虹┖
if (string.IsNullOrEmpty(str))
@@ -479,19 +492,19 @@
var brightnessValue = 0;
var cctValue = 27;
- if(rgbLight!= null)
- {
- int.TryParse(rgbLight.status.Find((obj) => obj.key == FunctionAttributeKey.Brightness).value, out brightnessValue);
- }
- if (cctLight != null)
- {
- int.TryParse(cctLight.status.Find((obj) => obj.key == FunctionAttributeKey.Brightness).value, out brightnessValue);
- int.TryParse(cctLight.status.Find((obj) => obj.key == FunctionAttributeKey.CCT).value, out cctValue);
- }
- if(dimmingLight!=null)
- {
- int.TryParse(cctLight.status.Find((obj) => obj.key == FunctionAttributeKey.CCT).value, out cctValue);
- }
+ //if(rgbLight!= null)
+ //{
+ // int.TryParse(rgbLight.status.Find((obj) => obj.key == FunctionAttributeKey.Brightness).value, out brightnessValue);
+ //}
+ //if (cctLight != null)
+ //{
+ // int.TryParse(cctLight.status.Find((obj) => obj.key == FunctionAttributeKey.Brightness).value, out brightnessValue);
+ // int.TryParse(cctLight.status.Find((obj) => obj.key == FunctionAttributeKey.CCT).value, out cctValue);
+ //}
+ //if(dimmingLight!=null)
+ //{
+ // int.TryParse(cctLight.status.Find((obj) => obj.key == FunctionAttributeKey.CCT).value, out brightnessValue);
+ //}
//灞炴�ц缃尯鍩�
@@ -561,12 +574,24 @@
btnClose.IsSelected = true;
btnOpen.IsSelected = false;
commandDic[FunctionAttributeKey.OnOff] = "off";
+ d.Clear();
+ d.Add(FunctionAttributeKey.OnOff, "off");
+ foreach (var light in lights)
+ {
+ Control.Ins.SendWriteCommand(light, d);
+ }
};
btnOpen.MouseUpEventHandler = (sender, e) =>
{
btnClose.IsSelected = false;
btnOpen.IsSelected = true;
commandDic[FunctionAttributeKey.OnOff] = "on";
+ d.Clear();
+ d.Add(FunctionAttributeKey.OnOff, "on");
+ foreach (var light in lights)
+ {
+ Control.Ins.SendWriteCommand(light, d);
+ }
};
}
@@ -621,18 +646,18 @@
contentView.AddChidren(bottomView);
bottomView.AddChidren(new Button() { Height = 1, BackgroundColor = CSS_Color.DividingLineColor });
- var btnSave = new Button()
+ var btnCacel = new Button()
{
Width = Application.GetRealWidth(172),
Height = Application.GetRealHeight(44),
TextAlignment = TextAlignment.Center,
TextSize = CSS_FontSize.SubheadingFontSize,
TextColor = CSS_Color.TextualColor,
- TextID = StringId.Save,
+ TextID = StringId.Cancel,
};
- bottomView.AddChidren(btnSave);
+ bottomView.AddChidren(btnCacel);
- var btnComplete = new Button()
+ var btnSave = new Button()
{
X = Application.GetRealWidth(172),
Width = Application.GetRealWidth(172),
@@ -641,76 +666,75 @@
TextColor = CSS_Color.MainBackgroundColor,
TextAlignment = TextAlignment.Center,
TextSize = CSS_FontSize.SubheadingFontSize,
- Text = "鎵ц"
+ TextID = StringId.Save
};
- bottomView.AddChidren(btnComplete);
+ bottomView.AddChidren(btnSave);
//渚嬶細鍙充笅鍦嗚 澶у皬涓�50
int mRectCornerID = HDLUtils.RectCornerBottomRight;
- btnComplete.SetCornerWithSameRadius((uint)Application.GetRealWidth(14), mRectCornerID);
+ btnSave.SetCornerWithSameRadius((uint)Application.GetRealWidth(14), mRectCornerID);
- btnComplete.MouseUpEventHandler = (sender, e) => {
- //this.Close();
+ btnCacel.MouseUpEventHandler = (sender, e) => {
+ this.Close();
- var waitPage = new Loading();
- MainPage.BaseView.AddChidren(waitPage);
- waitPage.Start(Language.StringByID(StringId.PleaseWait));
+ //var waitPage = new Loading();
+ //MainPage.BaseView.AddChidren(waitPage);
+ //waitPage.Start(Language.StringByID(StringId.PleaseWait));
+ //new Thread(() =>
+ //{
+ // try
+ // {
+ // foreach (var light in lights)
+ // {
+ // Dictionary<string, string> sendDate = new Dictionary<string, string>();
+ // //璧嬪�煎満鏅姛鑳芥暟鎹�
+ // foreach (var attr in light.GetAttributes())
+ // {
+ // if (commandDic.ContainsKey(attr))
+ // {
+ // try
+ // {
+ // sendDate.Add(attr, commandDic[attr]);
+ // }
+ // catch { }
+ // }
- new Thread(() =>
- {
- try
- {
- foreach (var light in lights)
- {
- Dictionary<string, string> sendDate = new Dictionary<string, string>();
- //璧嬪�煎満鏅姛鑳芥暟鎹�
- foreach (var attr in light.GetAttributes())
- {
- if (commandDic.ContainsKey(attr))
- {
- try
- {
- sendDate.Add(attr, commandDic[attr]);
- }
- catch { }
- }
-
- }
- Control.Ins.SendWriteCommand(light, sendDate);
- Thread.Sleep(50);
- }
- }
- catch
- { }
- finally
- {
- Application.RunOnMainThread(() =>
- {
- waitPage.Hide();
- new PublicAssmebly().TipMsgAutoClose("缁勫悎鎺у埗宸叉墽琛�", true);
- if (waitPage != null)
- {
- //backAction(null);
- waitPage.RemoveFromParent();
- }
- });
- }
- })
- { IsBackground = true }.Start();
+ // }
+ // Control.Ins.SendWriteCommand(light, sendDate);
+ // Thread.Sleep(50);
+ // }
+ // }
+ // catch
+ // { }
+ // finally
+ // {
+ // Application.RunOnMainThread(() =>
+ // {
+ // waitPage.Hide();
+ // new PublicAssmebly().TipMsgAutoClose("缁勫悎鎺у埗宸叉墽琛�", true);
+ // if (waitPage != null)
+ // {
+ // //backAction(null);
+ // waitPage.RemoveFromParent();
+ // }
+ // });
+ // }
+ //})
+ //{ IsBackground = true }.Start();
};
- btnSave.MouseUpEventHandler += (sender, e) =>
+ btnSave.MouseUpEventHandler = (sender, e) =>
{
if (string.IsNullOrEmpty(scene.name))
{
new Tip()
{
CloseTime = 1,
- Text = Language.StringByID(StringId.SceneNameCannotBeEmpty),
+ Text = Language.StringByID(StringId.NameCannotBeEmpty),
Direction = AMPopTipDirection.None,
}.Show(bodyView);
return;
@@ -719,7 +743,7 @@
{
if (scene.name == tempRoom.name)
{
- new PublicAssmebly().TipMsg(StringId.Tip, StringId.SceneNameAlreadyExists);
+ new PublicAssmebly().TipMsg(StringId.Tip, StringId.NameAlreadyExists);
return;
}
}
@@ -765,14 +789,17 @@
{
if (result == StateCode.SUCCESS)
{
- scene = serverScene;
+ scene.userSceneId = serverScene.userSceneId;
FunctionList.List.scenes.Add(scene);
- backAction(scene);
+ backAction?.Invoke(scene);
this.Close();
}
else
{
- IMessageCommon.Current.ShowErrorInfoAlter(result);
+ if (result == "124005")
+ IMessageCommon.Current.ShowErrorInfoAlter(Language.StringByID(StringId.GatewayOffline));
+ else
+ IMessageCommon.Current.ShowErrorInfoAlter(result);
}
});
}
@@ -869,6 +896,22 @@
dimmerBar.OnStopTrackingTouchEvent = (sender, e) => {
commandDic[FunctionAttributeKey.Percent] = dimmerBar.Progress.ToString();
btnBrightnessText.Text = Language.StringByID(StringId.Brightness) + " " + e + "%";
+
+ foreach (var light in lights)
+ {
+ if (light.spk == SPK.LightSwitch)
+ {
+ d.Clear();
+ d.Add(FunctionAttributeKey.OnOff, e > 0 ? "on" : "off");
+ Control.Ins.SendWriteCommand(light, d);
+ }
+ else
+ {
+ d.Clear();
+ d.Add(FunctionAttributeKey.Brightness, e.ToString());
+ Control.Ins.SendWriteCommand(light, d);
+ }
+ }
};
@@ -970,6 +1013,16 @@
barColorTemplatrue.OnStopTrackingTouchEvent = (sender, e) =>
{
commandDic[FunctionAttributeKey.CCT] = (barColorTemplatrue.Progress*100).ToString();
+
+ d.Clear();
+ d.Add(FunctionAttributeKey.CCT, (barColorTemplatrue.Progress * 100).ToString());
+ foreach (var light in lightCCT)
+ {
+ if (light.spk == SPK.LightCCT)
+ {
+ Control.Ins.SendWriteCommand(light, d);
+ }
+ }
};
//鍙樻洿鑳屾櫙鍥剧殑Y杞村潗鏍�
btnColorTemplatrueBack.Y = barColorTemplatrue.Y + (barColorTemplatrue.Height - btnColorTemplatrueBack.Height) / 2;
@@ -1054,7 +1107,17 @@
//鍦嗙殑鍗婂緞(鑰冭檻杈圭晫,闇�瑕佽缃畠鐨勫崐寰勬瘮杈冨皬涓�鐐�)
int circleR = colorPicker.Width / 2 - Application.GetRealWidth(12);
-
+ colorPicker.MouseUpEventHandler = (sender2, e) => {
+ d.Clear();
+ d.Add(FunctionAttributeKey.RGB, commandDic[FunctionAttributeKey.RGB]);
+ foreach (var light in lightCCT)
+ {
+ if (light.spk == SPK.LightCCT)
+ {
+ Control.Ins.SendWriteCommand(light, d);
+ }
+ }
+ };
colorPicker.ColorChaged += (sender2, e2) => {
string rgbString = (e2[0] + "," + e2[1] + "," + e2[2]).ToString();
commandDic[FunctionAttributeKey.RGB] = rgbString;
--
Gitblit v1.8.0