| | |
| | | public SpatialInfo(string spatialType) |
| | | { |
| | | roomType = "FLOOR"; |
| | | parentId = DB_ResidenceData.residenceData.CurReginID; |
| | | parentId = DB_ResidenceData.Instance.CurrentRegion.RegionID; |
| | | } |
| | | |
| | | public string roomId = ""; |
| | |
| | | } |
| | | } |
| | | var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(FloorList)); |
| | | FileUtils.WriteFileByBytes(dataSavePath, ssd); |
| | | Common.FileUtlis.Files.WriteFileByBytes(dataSavePath, ssd); |
| | | } |
| | | } |
| | | |
| | |
| | | { |
| | | try |
| | | { |
| | | var floorsDataBytes = FileUtils.ReadFile("FloorsData"); |
| | | var floorsDataBytes = Common.FileUtlis.Files.ReadFile("FloorsData"); |
| | | if (floorsDataBytes != null) |
| | | { |
| | | var floorsDataString = System.Text.Encoding.UTF8.GetString(floorsDataBytes); |
| | |
| | | /// 增加楼层 |
| | | /// </summary> |
| | | /// <param name="floor"></param> |
| | | public string AddFloor(SpatialInfo floor) |
| | | public string AddFloor(SpatialInfo floor, out SpatialInfo newFloor) |
| | | { |
| | | var pm = new HttpServerRequest(); |
| | | var revPack = new ResponsePackNew(); |
| | |
| | | if (revPack.Code == StateCode.SUCCESS) |
| | | { |
| | | var revData = Newtonsoft.Json.JsonConvert.DeserializeObject<List<SpatialInfo>>(revPack.Data.ToString()); |
| | | if(revData.Count>0) |
| | | if (revData.Count > 0) |
| | | { |
| | | var addFloor = revData.Find((obj) => obj.uid == floor.uid); |
| | | if(addFloor!= null) |
| | | if (addFloor != null) |
| | | { |
| | | CurrentSpatial.FloorList.Add(addFloor); |
| | | floor = addFloor; |
| | | } |
| | | } |
| | | var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(CurrentSpatial.FloorList)); |
| | | FileUtils.WriteFileByBytes(dataSavePath, ssd); |
| | | Common.FileUtlis.Files.WriteFileByBytes(dataSavePath, ssd); |
| | | } |
| | | else |
| | | { |
| | | Utlis.ShowTip(Language.StringByID(StringId.AddFloorFail) + "\r\nCode:" + revPack.Code); |
| | | } |
| | | newFloor = floor; |
| | | return revPack.Code; |
| | | } |
| | | /// <summary> |
| | |
| | | if (revPack.Code == StateCode.SUCCESS) |
| | | { |
| | | var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(FloorList)); |
| | | FileUtils.WriteFileByBytes(dataSavePath, ssd); |
| | | Common.FileUtlis.Files.WriteFileByBytes(dataSavePath, ssd); |
| | | } |
| | | return revPack.Code; |
| | | } |
| | |
| | | CurrentSpatial.FloorList.Remove(tRoom); |
| | | } |
| | | var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(FloorList)); |
| | | FileUtils.WriteFileByBytes(dataSavePath, ssd); |
| | | Common.FileUtlis.Files.WriteFileByBytes(dataSavePath, ssd); |
| | | } |
| | | else |
| | | { |
| | |
| | | try |
| | | { |
| | | rooms = new List<Room> { }; |
| | | var filePathList = FileUtils.ReadFiles(); |
| | | var filePathList = Common.FileUtlis.Files.ReadFiles(); |
| | | |
| | | foreach (var filePath in filePathList) |
| | | { |
| | | if (filePath.StartsWith("RoomData_")) |
| | | { |
| | | var roomDataBytes = FileUtils.ReadFile(filePath); |
| | | var roomDataBytes = Common.FileUtlis.Files.ReadFile(filePath); |
| | | var roomDataString = System.Text.Encoding.UTF8.GetString(roomDataBytes); |
| | | var room = Newtonsoft.Json.JsonConvert.DeserializeObject<Room>(roomDataString); |
| | | if (room != null) |
| | |
| | | /// 增加房间 |
| | | /// </summary> |
| | | /// <param name="room"></param> |
| | | public string AddRoom(Room room) |
| | | public string AddRoom(Room room,out Room newRoom) |
| | | { |
| | | var pm = new HttpServerRequest(); |
| | | var pack = pm.AddRoom(new List<SpatialInfo>() { room }); |
| | |
| | | var tempRoom = revData.Find((obj) => obj.uid == room.uid); |
| | | if (tempRoom != null) |
| | | { |
| | | room = tempRoom as Room; |
| | | room.roomId = tempRoom.roomId; |
| | | CurrentSpatial.RoomList.Add(room); |
| | | var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(room)); |
| | | FileUtils.WriteFileByBytes(dataSavePath, ssd); |
| | | Common.FileUtlis.Files.WriteFileByBytes(dataSavePath, ssd); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | newRoom = room; |
| | | return pack.Code; |
| | | } |
| | | /// <summary> |
| | |
| | | { |
| | | CurrentSpatial.RoomList.Remove(room); |
| | | } |
| | | FileUtils.DeleteFile(room.dataSavePath); |
| | | Common.FileUtlis.Files.DeleteFile(room.dataSavePath); |
| | | } |
| | | return pack.Code; |
| | | } |
| | |
| | | { |
| | | foreach(var localRoom in RoomList) |
| | | { |
| | | FileUtils.DeleteFile(localRoom.dataSavePath); |
| | | Common.FileUtlis.Files.DeleteFile(localRoom.dataSavePath); |
| | | } |
| | | RoomList.Clear(); |
| | | rooms = null; |
| | | } |
| | | |
| | | public void Clear() |
| | | { |
| | | if (_currentSpatial != null) |
| | | { |
| | | if (_currentSpatial.floors != null) |
| | | { |
| | | _currentSpatial.floors.Clear(); |
| | | } |
| | | if (_currentSpatial.rooms != null) |
| | | { |
| | | _currentSpatial.rooms.Clear(); |
| | | } |
| | | _currentSpatial = null; |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 初始化每个房间的功能数据 |
| | | /// </summary> |
| | |
| | | if (needSave) |
| | | { |
| | | var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(this)); |
| | | FileUtils.WriteFileByBytes(dataSavePath, ssd); |
| | | Common.FileUtlis.Files.WriteFileByBytes(dataSavePath, ssd); |
| | | } |
| | | return packCode; |
| | | } |
| | |
| | | { |
| | | return f.roomName + " "; |
| | | } |
| | | else |
| | | { |
| | | foreach(var f1 in CurrentSpatial.FloorList) |
| | | { |
| | | if(f1.uid == parentId) |
| | | { |
| | | return f.roomName + " "; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | return ""; |
| | | } |
| | |
| | | } |
| | | if (functions.Count == 0) |
| | | { |
| | | foreach (var f in DB_ResidenceData.functionList.GetAllFunction()) |
| | | foreach (var f in FunctionList.List.GetDeviceFunctionList()) |
| | | { |
| | | if (f.roomIds.Contains(roomId) && roomId != null) |
| | | { |
| | |
| | | } |
| | | if (scenes.Count == 0) |
| | | { |
| | | foreach (var s in DB_ResidenceData.functionList.scenes) |
| | | foreach (var s in FunctionList.List.scenes) |
| | | { |
| | | if (s.roomIds.Contains(roomId) && roomId != null) |
| | | { |