using System;
|
using System.Collections.Generic;
|
using Shared.Phone.UserCenter;
|
|
namespace Shared.Common
|
{
|
/// <summary>
|
/// 场景
|
/// </summary>
|
[System.Serializable]
|
public class SceneUI : ZigBee.Device.CommonDevice
|
{
|
#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 = int.MaxValue;
|
|
/// <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 List<string> FunctionFilePathList = new List<string> { };
|
|
/// <summary>
|
/// 通用标识--备用
|
/// </summary>
|
public object Tag;
|
|
/// <summary>
|
/// 延时执行时间--设备延时
|
/// </summary>
|
public int DelayTime = 0;
|
|
/// <summary>
|
/// 标识当前场景是否是分享的场景
|
/// </summary>
|
public bool IsSharedScene = false;
|
/// <summary>
|
/// 是否收藏
|
/// </summary>
|
public bool IsCollected = false;
|
|
/// <summary>
|
/// 延时执行时间--整个场景延时(不是延时场景里面的执行目标)
|
/// 不序列化,重新打开APP置。即只对本次编辑场景延时执行有效
|
/// </summary>
|
[Newtonsoft.Json.JsonIgnore]
|
public int SceneDelayTime = 0;
|
|
/// <summary>
|
/// 场景执行目标
|
/// </summary>
|
public List<ZigBee.Device.Scene.AddSceneMemberData> AddSceneMemberDataList = new List<ZigBee.Device.Scene.AddSceneMemberData> { };
|
|
#endregion
|
|
#region ◆ 通过场景id获取场景路径_____________
|
/// <summary>
|
/// GetSceneFilePathBySceneId
|
/// </summary>
|
/// <param name="sceneId"></param>
|
/// <returns></returns>
|
public static string GetSceneFilePathBySceneId(int sceneId)
|
{
|
return $"Scene_{sceneId}.json";
|
}
|
|
#endregion
|
|
#region ◆ 收藏____________________________
|
|
/// <summary>
|
/// collect
|
/// </summary>
|
/// <param name="collected"></param>
|
/// <param name="autoBackup"></param>
|
public void Collect(bool collected, bool autoBackup = true)
|
{
|
IsCollected = collected;
|
Save(autoBackup);
|
}
|
|
#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)
|
{
|
HdlAutoBackupLogic.AddOrEditorFile(FileName);
|
}
|
}
|
|
#endregion
|
|
}
|
}
|