From 11c4199c6015914b5de6d96fca3b478c0a852f9b Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期四, 03 十二月 2020 19:54:01 +0800
Subject: [PATCH] 2020-12-03 1.OnAppConfig 配置文件检测处理,禁止删除。
---
HDL_ON/Entity/Room.cs | 188 +++++++++++++++++++++++++++++++++++++++-------
1 files changed, 158 insertions(+), 30 deletions(-)
diff --git a/HDL_ON/Entity/Room.cs b/HDL_ON/Entity/Room.cs
index 68ca3dd..aa50d4f 100644
--- a/HDL_ON/Entity/Room.cs
+++ b/HDL_ON/Entity/Room.cs
@@ -3,64 +3,192 @@
namespace HDL_ON.Entity
{
+ /// <summary>
+ /// 鎴块棿瀵硅薄
+ /// </summary>
+ [Serializable]
+ public class Floor
+ {
+ /// <summary>
+ /// 妤煎眰鍚嶇О
+ /// </summary>
+ public string name = "1F";
+ /// <summary>
+ /// 妤煎眰ID
+ /// </summary>
+ public string sid;
+ }
+
/// <summary>
/// 鎴块棿瀵硅薄
- /// 鎴块棿鍛藉悕瑙勫垯 typeof (Room).Name + "_" + etNameBox.Text.Trim ();
/// </summary>
- [System.Serializable]
+ [Serializable]
public class Room
{
/// <summary>
/// 鎴块棿鍚�
/// </summary>
public string name = "Room";
+
+ public string roomSavePath
+ {
+ get
+ {
+ return "RoomData_" + sid;
+ }
+ }
/// <summary>
/// 鎴块棿ID
/// </summary>
public string sid;
-
/// <summary>
/// 鎴块棿鑳屾櫙
/// </summary>
public string backgroundImage = "Classification/Room/Roombg.png";
/// <summary>
- /// 妤煎眰
- /// </summary>
- public string floor {
- get
- {
- string str = "";
- if (floorIndex != -1)
- {
- if (floorIndex < DB_ResidenceData.residenceData.floors.Count)
- str = DB_ResidenceData.residenceData.floors[floorIndex];
- }
- return str;
- }
- }
- /// <summary>
/// 妤煎眰绱㈠紩
/// </summary>
- public int floorIndex = -1;
-
+ public string floorId = "";
+ /// <summary>
+ /// 妤煎眰
+ /// </summary>
+ [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> functionData = new List<Function>();
-
- public void RefreshFunctions()
+ List<Function> functions = new List<Function>();
+ /// <summary>
+ /// 鑾峰彇鎴块棿鍔熻兘鍒楄〃
+ /// </summary>
+ public List<Function> GetRoomFunctions(bool needRefresh)
{
- List<Function> funcList = new List<Function>();
- foreach (var f in DB_ResidenceData.residenceData.functionList.functions)
+ if(needRefresh)
{
- if (f.roomIdList.Contains(sid))
+ functions = new List<Function>();
+ }
+ if (functions.Count == 0)
+ {
+ foreach (var f in DB_ResidenceData.functionList.GetAllFunction())
{
- funcList.Add(f);
+ if (f.roomIds.Contains(sid) && sid != null)
+ {
+ functions.Add(f);
+ }
}
}
- functionData = funcList;
+ 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>
+ /// 鎴块棿鍦烘櫙鍒楄〃
+ /// </summary>
+ List<Scene> scenes = new List<Scene>();
+ /// <summary>
+ /// 鑾峰彇鍦烘櫙鍒楄〃
+ /// </summary>
+ /// <returns></returns>
+ public List<Scene> GetRoomScenes(bool needRefresh)
+ {
+ if (needRefresh)
+ {
+ scenes = new List<Scene>();
+ }
+ if (scenes.Count == 0)
+ {
+ foreach (var s in DB_ResidenceData.functionList.scenes)
+ {
+ if (s.roomIds.Contains(sid) && sid != null)
+ {
+ scenes.Add(s);
+ }
+ }
+ }
+ return scenes;
+ }
+ /// <summary>
+ /// 澧炲姞鎴块棿鍦烘櫙
+ /// 鎿嶄綔鐨勬槸缂撳瓨鏁版嵁锛屼笉鐢ㄤ繚瀛�
+ /// </summary>
+ /// <param name="scene"></param>
+ public void AddRoomScene(Scene scene)
+ {
+ scenes.Add(scene);
+ }
+ /// <summary>
+ /// 绉婚櫎鎴块棿鍦烘櫙
+ /// 鎿嶄綔鐨勬槸缂撳瓨鏁版嵁锛屼笉鐢ㄤ繚瀛�
+ /// </summary>
+ /// <param name="scene"></param>
+ public void RemoveRoomScene(Scene scene)
+ {
+ scenes.Remove(scenes.Find((obj) => obj.sid == scene.sid));
+ }
+ /// <summary>
+ /// 淇濆瓨鎴块棿鏁版嵁
+ /// </summary>
+ 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}");
+ }
+
+
}
-}
+
+ /// <summary>
+ /// 鏈嶅姟杩斿洖鐨勬埧闂村璞�
+ /// </summary>
+ public class ServerReplyRoom
+ {
+ //浜戠鎴块棿ID
+ public string roomId = "";
+ /// <summary>
+ /// 鎴块棿鍚嶇О
+ /// </summary>
+ public string roomName = "";
+ /// <summary>
+ /// 鎴块棿鍥剧墖
+ /// </summary>
+ public string roomImage = "";
+ /// <summary>
+ /// 鎴块棿鍏ㄥ悕
+ /// </summary>
+ public string roomFullName = "";
+ /// <summary>
+ /// 璋冭瘯杞欢\app鐢熸垚鐨勫敮涓�ID
+ /// </summary>
+ public string uid = "";
+ }
+}
\ No newline at end of file
--
Gitblit v1.8.0