using System;
|
using System.Collections.Generic;
|
using Shared.Phone;
|
using Shared.Phone.UserCenter;
|
|
namespace Shared.Common
|
{
|
/// <summary>
|
/// 场景
|
/// </summary>
|
[System.Serializable]
|
public class SceneUI
|
{
|
#region ■ 变量声明_________________________
|
/// <summary>
|
/// 场景文件
|
/// </summary>
|
/// <value>The name of the file.</value>
|
[Newtonsoft.Json.JsonIgnore]
|
public string FileName
|
{
|
get
|
{
|
return $"Scene_{Id}.json";
|
}
|
}
|
/// <summary>
|
/// 场景id
|
/// </summary>
|
public int Id = -1;
|
/// <summary>
|
/// 场景名
|
/// </summary>
|
public string Name = string.Empty;
|
/// <summary>
|
/// 图片路径
|
/// </summary>
|
public string IconPath = "Scene/SceneDefault.png";
|
/// <summary>
|
/// 图片来源 0--本地图库 1--拍照 2--系统图库
|
/// </summary>
|
public int IconPathType = 0;
|
/// <summary>
|
/// 延时执行时间--设备延时
|
/// </summary>
|
public int DelayTime = 0;
|
/// <summary>
|
/// 标识当前场景是否是分享的场景
|
/// </summary>
|
public bool IsSharedScene = false;
|
/// <summary>
|
/// 延时执行时间--整个场景延时(不是延时场景里面的执行目标)
|
/// 不序列化,重新打开APP置。即只对本次编辑场景延时执行有效
|
/// </summary>
|
[Newtonsoft.Json.JsonIgnore]
|
public int SceneDelayTime = 0;
|
/// <summary>
|
/// 剩余触发时间,单位秒
|
/// </summary>
|
[Newtonsoft.Json.JsonIgnore]
|
public int RemainTime;
|
/// <summary>
|
/// 延时时间线程是否运行
|
/// </summary>
|
[Newtonsoft.Json.JsonIgnore]
|
public bool RemainThreadAction = false;
|
/// <summary>
|
/// 场景执行目标
|
/// </summary>
|
public List<ZigBee.Device.Scene.DeviceListData> AdjustTargetList = new List<ZigBee.Device.Scene.DeviceListData>();
|
|
#endregion
|
|
#region ■ 保存_____________________________
|
|
/// <summary>
|
/// 保存
|
/// </summary>
|
/// <param name="autoBackup">是否备份</param>
|
public void Save(bool autoBackup = true)
|
{
|
Global.WriteFileByBytesByHomeId(FileName, System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(this)));
|
if (autoBackup == true)
|
{
|
HdlBackupLogic.Current.AddOrEditorAutoBackFileStatu(FileName);
|
}
|
}
|
|
#endregion
|
}
|
}
|