using System; using System.Collections.Generic; namespace HDL_ON.Entity { /// /// 房间对象 /// [Serializable] public class Floor { /// /// 楼层名称 /// public string name = "1F"; /// /// 楼层ID /// public string sid; } /// /// 房间对象 /// [Serializable] public class Room { /// /// 房间名 /// public string name = "Room"; public string roomSavePath { get { return "RoomPath_" + sid; } } /// /// 房间ID /// public string sid; /// /// 房间背景 /// public string backgroundImage = "Classification/Room/Roombg.png"; /// /// 楼层索引 /// public string floorId = ""; /// /// 楼层 /// [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 ""; } } /// /// 房间功能列表 /// List functions = new List(); /// /// 刷新房间功能列表 /// public List GetRoomFunctions(bool needRefresh) { if(needRefresh) { functions = new List(); } if (functions.Count == 0) { foreach (var f in DB_ResidenceData.functionList.GetAllFunction()) { if (f.roomIdList.Contains(sid) && sid != null) { functions.Add(f); } } } return functions; } /// /// 增加房间功能 /// public void AddRoomFunction(Function function) { functions.Add(function); } /// /// 删除房间功能 /// public void RemoveRoomFunction(Function function) { functions.Remove(functions.Find((obj) => obj.sid == function.sid)); } /// /// 保存房间数据 /// 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}"); } } }