From a715181089be0d31cd737a5367ffd02690b9d77f Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期四, 12 十一月 2020 13:36:01 +0800
Subject: [PATCH] 20201112

---
 HDL_ON/Entity/Room.cs |  116 +++++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 94 insertions(+), 22 deletions(-)

diff --git a/HDL_ON/Entity/Room.cs b/HDL_ON/Entity/Room.cs
index 2e23cd7..6bfcc90 100644
--- a/HDL_ON/Entity/Room.cs
+++ b/HDL_ON/Entity/Room.cs
@@ -4,51 +4,123 @@
 namespace HDL_ON.Entity
 {
 
+
     /// <summary>
     /// 鎴块棿瀵硅薄
-    /// 鎴块棿鍛藉悕瑙勫垯 typeof (Room).Name + "_" + etNameBox.Text.Trim ();
     /// </summary>
-    [System.Serializable]
+    [Serializable]
+    public class Floor
+    {
+        /// <summary>
+        /// 妤煎眰鍚嶇О
+        /// </summary>
+        public string name = "1F";
+        /// <summary>
+        /// 妤煎眰ID
+        /// </summary>
+        public string sid;
+    }
+
+
+    /// <summary>
+    /// 鎴块棿瀵硅薄
+    /// </summary>
+    [Serializable]
     public class Room
     {
         /// <summary>
         /// 鎴块棿鍚�
         /// </summary>
-        public string name;
+        public string name = "Room";
+
+        public string roomSavePath
+        {
+            get
+            {
+                return "RoomPath_" + sid;
+            }
+        }
         /// <summary>
         /// 鎴块棿ID
         /// </summary>
         public string sid;
-
         /// <summary>
         /// 鎴块棿鑳屾櫙
         /// </summary>
         public string backgroundImage = "Classification/Room/Roombg.png";
         /// <summary>
+        /// 妤煎眰绱㈠紩
+        /// </summary>
+        public string floorId = "";
+        /// <summary>
         /// 妤煎眰
         /// </summary>
-        public string floor = "";
-
-        /// <summary>
-        /// 鎴块棿娣诲姞鐨勫姛鑳藉垪琛�
-        /// 淇濆瓨鍔熻兘ID
-        /// </summary>
-        public List<string> roomFunctionList = new List<string>();
+        [Newtonsoft.Json.JsonIgnore]
+        public string floorName
+        {
+            get
+            {
+                if (DB_ResidenceData.residenceData.floors.Count > 0)
+                {
+                    var f = DB_ResidenceData.residenceData.floors.Find((obj) => obj.sid == floorId);
+                    if (f != null)
+                    {
+                        return f.name + " ";
+                    }
+                }
+                return "";
+            }
+        }
         /// <summary>
         /// 鎴块棿鍔熻兘鍒楄〃
         /// </summary>
-        [Newtonsoft.Json.JsonIgnore]
-        public List<Function> functions = new List<Function>();
+        List<Function> functions = new List<Function>();
+        /// <summary>
+        /// 鍒锋柊鎴块棿鍔熻兘鍒楄〃
+        /// </summary>
+        public List<Function> GetRoomFunctions(bool needRefresh)
+        {
+            if(needRefresh)
+            {
+                functions = new List<Function>();
+            }
+            if (functions.Count == 0)
+            {
+                foreach (var f in DB_ResidenceData.functionList.GetAllFunction())
+                {
+                    if (f.roomIdList.Contains(sid) && sid != null)
+                    {
+                        functions.Add(f);
+                    }
+                }
+            }
+            return functions;
+        }
+        /// <summary>
+        /// 澧炲姞鎴块棿鍔熻兘
+        /// </summary>
+        public void AddRoomFunction(Function function)
+        {
+            functions.Add(function);
+        }
+        /// <summary>
+        /// 鍒犻櫎鎴块棿鍔熻兘
+        /// </summary>
+        public void RemoveRoomFunction(Function function)
+        {
+            functions.Remove(functions.Find((obj) => obj.sid == function.sid));
+        }
 
         /// <summary>
-        /// 鎴块棿娣诲姞鐨勫満鏅垪琛�
-        /// 淇濆瓨鍦烘櫙ID
+        /// 淇濆瓨鎴块棿鏁版嵁
         /// </summary>
-        public List<string> roomSceneList = new List<string>();
-        /// <summary>
-        /// 鎴块棿鍦烘櫙鍒楄〃
-        /// </summary>
-        [Newtonsoft.Json.JsonIgnore]
-        public List<Scene> scenes = new List<Scene>();
+        public void SaveRoomData()
+        {
+            var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(this));
+            FileUtils.WriteFileByBytes("RoomData_" + this.sid, ssd);
+            MainPage.Log($"Save FunctionData {name} : {this.sid}");
+        }
+
+
     }
-}
+}
\ No newline at end of file

--
Gitblit v1.8.0