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.roomIds.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));
}
///
/// 房间场景列表
///
List scenes = new List();
///
/// 获取场景列表
///
///
public List GetRoomScenes(bool needRefresh)
{
if (needRefresh)
{
scenes = new List();
}
if (scenes.Count == 0)
{
foreach (var s in DB_ResidenceData.functionList.scenes)
{
if (s.roomIds.Contains(sid) && sid != null)
{
scenes.Add(s);
}
}
}
return scenes;
}
///
/// 增加房间场景
/// 操作的是缓存数据,不用保存
///
///
public void AddRoomScene(Scene scene)
{
scenes.Add(scene);
}
///
/// 移除房间场景
/// 操作的是缓存数据,不用保存
///
///
public void RemoveRoomScene(Scene scene)
{
scenes.Remove(scenes.Find((obj) => obj.sid == scene.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}");
}
}
///
/// 服务返回的房间对象
///
public class ServerReplyRoom
{
//云端房间ID
public string roomId = "";
///
/// 房间名称
///
public string roomName = "";
///
/// 房间图片
///
public string roomImage = "";
///
/// 房间全名
///
public string roomFullName = "";
///
/// 调试软件\app生成的唯一ID
///
public string uid = "";
}
}