| | |
| | | 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}"); |
| | | } |
| | | |
| | | |
| | | } |
| | | } |
| | | } |