| | |
| | | |
| | | 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 "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 { |
| | | [Newtonsoft.Json.JsonIgnore] |
| | | public string floorName |
| | | { |
| | | get |
| | | { |
| | | string str = ""; |
| | | if (floorIndex != -1) |
| | | if (DB_ResidenceData.residenceData.floors.Count > 0) |
| | | { |
| | | if (floorIndex < DB_ResidenceData.residenceData.floors.Count) |
| | | str = DB_ResidenceData.residenceData.floors[floorIndex]; |
| | | var f = DB_ResidenceData.residenceData.floors.Find((obj) => obj.sid == floorId); |
| | | if (f != null) |
| | | { |
| | | return f.name + " "; |
| | | } |
| | | } |
| | | return str; |
| | | return ""; |
| | | } |
| | | } |
| | | /// <summary> |
| | | /// 楼层索引 |
| | | /// </summary> |
| | | public int floorIndex = -1; |
| | | |
| | | /// <summary> |
| | | /// 房间添加的功能列表 |
| | | /// 保存功能ID |
| | | /// </summary> |
| | | public List<string> roomFunctionList = new List<string>(); |
| | | /// <summary> |
| | | /// 房间功能列表 |
| | | /// </summary> |
| | | [Newtonsoft.Json.JsonIgnore] |
| | | public List<Function> functions = new List<Function>(); |
| | | |
| | | List<Function> functions = new List<Function>(); |
| | | /// <summary> |
| | | /// 房间添加的场景列表 |
| | | /// 保存场景ID |
| | | /// 获取房间功能列表 |
| | | /// </summary> |
| | | public List<string> roomSceneList = new List<string>(); |
| | | 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.roomIds.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> |
| | | /// 房间场景列表 |
| | | /// </summary> |
| | | [Newtonsoft.Json.JsonIgnore] |
| | | public List<Scene> scenes = new List<Scene>(); |
| | | 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 = ""; |
| | | } |
| | | } |