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 "RoomPath_" + 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.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>
|
/// 保存房间数据
|
/// </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}");
|
}
|
|
|
}
|
}
|