using System;
|
using System.Collections.Generic;
|
|
namespace HDL_ON.Entity
|
{
|
/// <summary>
|
/// 房间对象
|
/// </summary>
|
[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 = "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 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>
|
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.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>
|
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 = "";
|
}
|
}
|