From 944b87b6bcccb095cd73f13f4410fb20faf48f74 Mon Sep 17 00:00:00 2001
From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local>
Date: 星期三, 25 十二月 2019 11:21:06 +0800
Subject: [PATCH] 2019.12.25

---
 ZigbeeApp/Shared/Phone/Device/Room/RoomManagement.cs |   68 +++++++++++++++++++++++++++------
 1 files changed, 55 insertions(+), 13 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/Device/Room/RoomManagement.cs b/ZigbeeApp/Shared/Phone/Device/Room/RoomManagement.cs
index 066e524..132599d 100644
--- a/ZigbeeApp/Shared/Phone/Device/Room/RoomManagement.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Room/RoomManagement.cs
@@ -20,14 +20,33 @@
 
         public FrameLayout itemView;
 
+        static RoomManagement roomManagement;
+        public static RoomManagement Instance
+        {
+            get
+            {
+                if (roomManagement == null)
+                {
+                    roomManagement = new RoomManagement { };
+                }
+                return roomManagement;
+            }
+        }
+
+        /// <summary>
+        /// 鏄惁鍙互瑙﹀彂鐐瑰嚮浜嬩欢--鏄惁鍙互璺宠浆涓婚〉鎴块棿
+        /// </summary>
+        public bool CanClick = true;
+
         #endregion
 
 
         public Action action;
 
+
+
         public override void RemoveFromParent()
         {
-            //鏇存柊鐣岄潰
             //action?.Invoke();
             base.RemoveFromParent();
         }
@@ -36,9 +55,11 @@
         /// </summary>
         public void Show()
         {
+            RemoveAll();
+
             AddTop();
 
-            AddBodyView();
+            AddBodyView(Config.Instance.Home.CurrentFloorId);
         }
 
         #region Add____________________________________
@@ -65,6 +86,8 @@
                 Gravity = Gravity.CenterVertical,
                 TextAlignment = TextAlignment.CenterRight,
                 TextColor = ZigbeeColor.Current.GXCTextBlackColor,
+                TextSize=14,
+                IsBold=true
             };
 
             var selectFloorBtn = new Button()
@@ -77,8 +100,11 @@
             };
 
             floorBtn.Text = Config.Instance.Home.GetCurrentFloorName;
-            top.topView.AddChidren(floorBtn);
-            top.topView.AddChidren(selectFloorBtn);
+            if(Config.Instance.Home.FloorDics.Count>0)
+            {
+                top.topView.AddChidren(floorBtn);
+                top.topView.AddChidren(selectFloorBtn);
+            }
             selectFloorBtn.MouseUpEventHandler += SelectedFloor_MouseUpEventHandler;
             floorBtn.MouseUpEventHandler += SelectedFloor_MouseUpEventHandler;
         }
@@ -93,16 +119,17 @@
             var floors = new SelectFloor();
             AddChidren(floors);
             floors.Init(599, 161,Direction.Right);
-            floors.FloorAction += (floorName) =>
+            floors.FloorAction += (floorId) =>
             {
-                floorBtn.Text = floorName;
+                floorBtn.Text = Config.Instance.Home.GetFloorNameById(floorId);
+                AddBodyView(floorId);
             };
         }
 
         /// <summary>
         /// AddBodyView
         /// </summary>
-        public void AddBodyView()
+        public void AddBodyView(string floorId)
         {
             bodyFrameLayout = new FrameLayout()
             {
@@ -114,7 +141,7 @@
 
             var roomScrolView = new VerticalScrolViewLayout { };
             bodyFrameLayout.AddChidren(roomScrolView);
-            var roomList = Shared.Common.Room.Lists;
+            var roomList = Common.Room.CurrentRoom.GetRoomsByFloorId(floorId);
             for (int i = 0; i < roomList.Count+1; i++)
             {
                 int xx = 43 + i % 2 * (20 + 487);
@@ -145,9 +172,20 @@
                     var room = roomList[i];
                     var roomView = new RoomMainView(xx, yy);
                     itemView.AddChidren(roomView);
-                    roomView.Init();
+                    roomView.Init(this,room);
                     roomView.SetRoomName(room.Name);
                     roomView.SetRoomIcon(room.BackgroundImage);
+                    roomView.ClickBtn.MouseUpEventHandler += (sender, e) =>
+                    {
+                        if (CanClick == false)
+                        {
+                            return;
+                        }
+                        CommonPage.Instance.CloseLeftMenu();
+                        Common.Room.CurrentRoom = room;
+                        Config.Instance.Home.CurrentFloorId = room.FloorId;
+                        UserPage.Instance.Fresh();
+                    };
                 }
                 else
                 {
@@ -167,21 +205,25 @@
         /// <summary>
         /// 鎴块棿绠$悊鐣岄潰
         /// </summary>
-        void RoomPage()
+        public RoomManagement()
         {
             BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor;
+            roomManagement = this;
         }
 
         /// <summary>
-        /// 
+        /// ShowUnallocatedRoom_MouseUpEvent
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="mouseEventArgs"></param>
         private void ShowUnallocatedRoom_MouseUpEvent(object sender,MouseEventArgs mouseEventArgs)
         {
+            if(CanClick==false)
+            {
+                return;
+            }
             var unalloctedRoom = new UnallocatedRoom();
-            HomePage.Instance.AddChidren(unalloctedRoom);
-            HomePage.Instance.PageIndex += 1;
+            AddChidren(unalloctedRoom);
             unalloctedRoom.Show();
         }
     }

--
Gitblit v1.8.0