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}");
}
}
}