From 5eeafe3af80bfd88306bd8ad9e76c8f4b51ca35f Mon Sep 17 00:00:00 2001
From: hxb <hxb@hdlchina.com.cn>
Date: 星期四, 17 十二月 2020 14:16:20 +0800
Subject: [PATCH] 增加本地发送的重发机制

---
 HDL_ON/UI/UI2/2-Classification/RoomPage.cs |  151 +++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 142 insertions(+), 9 deletions(-)

diff --git a/HDL_ON/UI/UI2/2-Classification/RoomPage.cs b/HDL_ON/UI/UI2/2-Classification/RoomPage.cs
index 9ee72a0..b41b765 100644
--- a/HDL_ON/UI/UI2/2-Classification/RoomPage.cs
+++ b/HDL_ON/UI/UI2/2-Classification/RoomPage.cs
@@ -21,23 +21,40 @@
 
         #region
         static Room room;
-        #endregion 
+        Action skipEditPageAction;
+        Action ReloadRoomName;
+        /// <summary>
+        /// 鍒犻櫎鎴块棿浜嬩欢
+        /// </summary>
+        Action deleteAction;
 
-        public RoomPage(Room r)
+        #endregion
+
+        public RoomPage(Room r, Action rrn, Action delAction)
         {
             bodyView = this;
             room = r;
+            skipEditPageAction = () =>
+            {
+                LoadEvent_SkipEditRoomPage();
+            };
+            ReloadRoomName = rrn;
+            deleteAction = delAction;
+        }
+        /// <summary>
+        /// 閲嶈浇鐣岄潰
+        /// </summary>
+        void ReLoadPage()
+        {
+            bodyView.RemoveAll();
+            LoadPage();
         }
 
         public void LoadPage()
         {
-            Action skipAction = () =>
-            {
-                LoadEvent_SkipEditRoomPage();
-            };
             bodyView.BackgroundColor = CSS_Color.BackgroundColor;
 
-            new TopViewDiv(bodyView,room.name).LoadTopView(room ,skipAction);
+            new TopViewDiv(bodyView,room.roomName).LoadTopView_RoomTop(ReloadRoomName, skipEditPageAction);
 
             functionListView = new VerticalScrolViewLayout()
             {
@@ -46,7 +63,7 @@
             };
             bodyView.AddChidren(functionListView);
 
-            foreach (var function in room.functions)
+            foreach (var function in room.GetRoomFunctions(false))
             {
                 if (function.functionCategory == FunctionCategory.Sensor)
                 {
@@ -88,7 +105,123 @@
                     functionListView.AddChidren(functionDiv);
                 }
             }
-
+            foreach (var scene in room.GetRoomScenes(false))
+            {
+                var sceneRow = new FrameLayout()
+                {
+                    Gravity = Gravity.CenterHorizontal,
+                    Width = Application.GetRealWidth(343),
+                    Height = Application.GetRealHeight(116),
+                    Radius = (uint)Application.GetMinRealAverage(12),
+                    BorderColor = 0x00FFFFFF,
+                    BorderWidth = 1,
+                    BackgroundColor = CSS_Color.MainBackgroundColor,
+                    Tag = "Scene-" +  scene.sid
+                };
+                functionListView.AddChidren(sceneRow);
+                LoadSceneRow(sceneRow, scene);
+            }
         }
+
+
+
+
+        /// <summary>
+        /// 鍔犺浇鍔熻兘绫诲瀷鎺у埗鍗$墖
+        /// </summary>
+        public void LoadSceneRow(FrameLayout bodyDiv, Scene scene)
+        {
+          var  btnIcon = new Button()
+            {
+                X = Application.GetRealWidth(10),
+                Y = Application.GetRealHeight(15),
+                Width = Application.GetRealWidth(32),
+                Height = Application.GetRealWidth(32),
+            };
+            bodyDiv.AddChidren(btnIcon);
+
+            var btnName = new Button()
+            {
+                X = Application.GetRealWidth(8 + 10 + 32),
+                Y = Application.GetRealHeight(10),
+                Width = Application.GetRealWidth(200),
+                Height = Application.GetRealHeight(24),
+                Text = scene.name,
+                TextAlignment = TextAlignment.CenterLeft,
+                TextColor = CSS_Color.FirstLevelTitleColor,
+                TextSize = CSS_FontSize.TextFontSize,
+            };
+            bodyDiv.AddChidren(btnName);
+
+            var btnFromFloor = new Button()
+            {
+                X = Application.GetRealWidth(8 + 10 + 32),
+                Y = Application.GetRealHeight(10 + 24),
+                Width = Application.GetRealWidth(200),
+                Height = Application.GetRealHeight(18),
+                Text = scene.GetRoomListName(),
+                TextAlignment = TextAlignment.CenterLeft,
+                TextColor = CSS_Color.PromptingColor1,
+                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+            };
+            bodyDiv.AddChidren(btnFromFloor);
+
+            var btnCollectionIcon = new Button()
+            {
+                X = Application.GetRealWidth(299),
+                Y = Application.GetRealHeight(10),
+                Width = Application.GetMinRealAverage(40),
+                Height = Application.GetMinRealAverage(40),
+                SelectedImagePath = "Collection/CollectionIcon.png",
+                UnSelectedImagePath = "Collection/CollectionGrayIcon.png",
+                IsSelected = scene.collect
+            };
+            bodyDiv.AddChidren(btnCollectionIcon);
+            btnIcon.UnSelectedImagePath = "FunctionIcon/Scene/SceneIcon.png";
+            if (scene.sceneType == SceneType.MovieScene)
+            {
+                var movieIcon = new Button()
+                {
+                    X = Application.GetRealWidth(52),
+                    Y = Application.GetRealHeight(14),
+                    Width = Application.GetRealWidth(16),
+                    Height = Application.GetRealWidth(16),
+                    UnSelectedImagePath = "FunctionIcon/Scene/MovieMark.png",
+                };
+                bodyDiv.AddChidren(movieIcon);
+                btnName.X = Application.GetRealWidth(52 + 16);
+            }
+            //鍔犺浇鍦烘櫙鎺у埗浜嬩欢
+            LoadEvent_ControlScene(btnName,btnFromFloor,bodyDiv,scene );
+
+            LoadEvent_FunctionCollection(btnCollectionIcon,scene);
+        }
+
+        /// <summary>
+        /// 鍔犺浇鍔熻兘鏀惰棌鎸夐挳浜嬩欢
+        /// </summary>
+        void LoadEvent_FunctionCollection(Button btnCollectionIcon,Scene scene)
+        {
+            btnCollectionIcon.MouseUpEventHandler += (sender, e) =>
+            {
+                btnCollectionIcon.IsSelected = scene.collect = !btnCollectionIcon.IsSelected;
+                scene.SaveSceneData(true);
+            };
+        }
+        /// <summary>
+        /// 鍔犺浇鍦烘櫙鎺у埗浜嬩欢
+        /// </summary>
+        void LoadEvent_ControlScene(Button btnName,Button btnFromFloor,FrameLayout bodyDiv, 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;
+            bodyDiv.MouseUpEventHandler = upEvent;
+        }
+
     }
 }

--
Gitblit v1.8.0