From 452e8cef1c740d18ee398be6971d9952e41dbd4a Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期三, 12 四月 2023 16:11:50 +0800
Subject: [PATCH] 1
---
HDL_ON/UI/UI2/2-Classification/SceneControlZone.cs | 176 +++++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 167 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..024d8d6 100644
--- a/HDL_ON/UI/UI2/2-Classification/SceneControlZone.cs
+++ b/HDL_ON/UI/UI2/2-Classification/SceneControlZone.cs
@@ -1,4 +1,8 @@
锘縰sing System;
+using System.Collections.Generic;
+using System.Threading;
+using HDL_ON.Common;
+using HDL_ON.DAL.Server;
using HDL_ON.Entity;
using HDL_ON.UI.CSS;
using Shared;
@@ -77,7 +81,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 +123,165 @@
/// </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;
+
+
+ EventHandler<MouseEventArgs> delEvent = (sender, e) => {
+ Action action = () =>{
+ var waitPage = new Loading();
+ MainPage.BaseView.AddChidren(waitPage);
+ waitPage.Start("");
+ new System.Threading.Thread(() =>
+ {
+ try
+ {
+ var pm = new HttpServerRequest();
+ var packCode = pm.DeleteScene(scene.userSceneId);
+ if (packCode == StateCode.SUCCESS)
+ {
+ FileUtlis.Files.DeleteFile(scene.savePath);
+ try
+ {
+ foreach (var sss in FunctionList.List.scenes)
+ {
+ if (sss.userSceneId == scene.userSceneId)
+ {
+ FunctionList.List.scenes.Remove(sss);
+ break;
+ }
+ }
+ }
+ catch { }
+ Application.RunOnMainThread(() =>
+ {
+ this.RemoveFromParent();
+ });
+ }
+ else
+ {
+ Application.RunOnMainThread(() =>
+ {
+ IMessageCommon.Current.ShowErrorInfoAlter(packCode);
+ });
+ }
+ }
+ catch { }
+ finally
+ {
+ Application.RunOnMainThread(() => {
+ if(waitPage!= null)
+ {
+ waitPage.RemoveFromParent();
+ waitPage = null;
+ }
+ });
+ }
+ })
+ { IsBackground = true }.Start();
+
+
+ };
+ new PublicAssmebly().TipOptionMsg(StringId.Tip, StringId.DoYouWantDelCombinedDimming, action);
+ };
+ btnName.MouseLongEventHandler = delEvent;
+ btnFromFloor.MouseLongEventHandler = delEvent;
+ this.MouseLongEventHandler = delEvent;
+
+ }
+ 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