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/2-Classification/SceneControlZone.cs | 113 ++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 104 insertions(+), 9 deletions(-) diff --git a/HDL_ON/UI/UI2/2-Classification/SceneControlZone.cs b/HDL_ON/UI/UI2/2-Classification/SceneControlZone.cs index 5b6e62f..37b83e8 100644 --- a/HDL_ON/UI/UI2/2-Classification/SceneControlZone.cs +++ b/HDL_ON/UI/UI2/2-Classification/SceneControlZone.cs @@ -1,4 +1,7 @@ 锘縰sing System; +using System.Collections.Generic; +using System.Threading; +using HDL_ON.DAL.Server; using HDL_ON.Entity; using HDL_ON.UI.CSS; using Shared; @@ -77,7 +80,10 @@ UnSelectedImagePath = "Collection/CollectionGrayIcon.png", IsSelected = scene.collect }; - this.AddChidren(btnCollectionIcon); + if (scene.sceneType != SceneType.LightScene) + { + this.AddChidren(btnCollectionIcon); + } btnIcon.UnSelectedImagePath = "FunctionIcon/Scene/SceneIcon.png"; if (scene.sceneType == SceneType.MovieScene) @@ -116,14 +122,103 @@ /// </summary> void LoadEvent_ControlScene(Button btnName, Button btnFromFloor, Scene scene) { - EventHandler<MouseEventArgs> upEvent = (sender, e) => { - DriverLayer.Control.Ins.ControlScene(scene); - string msg = scene.name + Language.StringByID(StringId.AlreadyOpened); - new PublicAssmebly().TipMsgAutoClose(msg, false); - }; - btnName.MouseUpEventHandler = upEvent; - btnFromFloor.MouseUpEventHandler = upEvent; - this.MouseUpEventHandler = upEvent; + if (scene.sceneType == SceneType.LightScene) + { + EventHandler<MouseEventArgs> upEvent = (sender, e) => + { + if (scene.functions.Count == 0) + { + + var waitPage = new Loading(); + new Thread(() => + { + try + { + Application.RunOnMainThread(() => + { + MainPage.BaseView.AddChidren(waitPage); + waitPage.Start(Language.StringByID(StringId.PleaseWait)); + }); + var pm = new HttpServerRequest(); + var pack = pm.GetSceneInfo(scene.userSceneId); + if (pack.Code == StateCode.SUCCESS) + { + var sceneList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Scene>>(pack.Data.ToString()); + var tempScene = sceneList.Find((obj) => obj.userSceneId == scene.userSceneId); + if (tempScene != null) + { + scene.name = tempScene.name; + scene.delay = tempScene.delay; + scene.roomIds = tempScene.roomIds; + scene.functions = tempScene.functions; + } + Application.RunOnMainThread(() => + { + var sceneLishtList = new List<Function>(); + foreach (var light in FunctionList.List.GetLightList()) + { + var temp = scene.functions.Find((obj) => obj.sid == light.sid); + if (temp != null) + { + sceneLishtList.Add(light); + } + } + Action<Scene> action = (Scene) => { }; + var lightSceneDialog = new LightSceneEditDialog(sceneLishtList, scene, action); + lightSceneDialog.ShowDialog(); + + waitPage.Hide(); + waitPage.RemoveFromParent(); + }); + } + else + { + IMessageCommon.Current.ShowErrorInfoAlter(pack.Code); + } + } + catch { } + finally + { + Application.RunOnMainThread(() => + { + waitPage.Hide(); + waitPage.RemoveFromParent(); + }); + } + }).Start(); + } + else + { + var sceneLishtList = new List<Function>(); + foreach (var light in FunctionList.List.GetLightList()) + { + var temp = scene.functions.Find((obj) => obj.sid == light.sid); + if (temp != null) + { + sceneLishtList.Add(light); + } + } + Action<Scene> action = (Scene) => { }; + var lightSceneDialog = new LightSceneEditDialog(sceneLishtList, scene, action); + lightSceneDialog.ShowDialog(); + } + }; + btnName.MouseUpEventHandler = upEvent; + btnFromFloor.MouseUpEventHandler = upEvent; + this.MouseUpEventHandler = upEvent; + } + else + { + EventHandler<MouseEventArgs> upEvent = (sender, e) => + { + DriverLayer.Control.Ins.ControlScene(scene); + string msg = scene.name + Language.StringByID(StringId.AlreadyOpened); + new PublicAssmebly().TipMsgAutoClose(msg, false); + }; + btnName.MouseUpEventHandler = upEvent; + btnFromFloor.MouseUpEventHandler = upEvent; + this.MouseUpEventHandler = upEvent; + } } -- Gitblit v1.8.0