Files
DanhengServer-OpenSource/Common/Data/Config/Task/PredicateTaskList.cs
Somebody 87d228eb79 Feature:Asynchronous Operation & Formatting Code
- Now the async operation is enabled!
- Code formatted by Resharper plugin <3
2024-07-22 17:12:03 +08:00

27 lines
1.1 KiB
C#

using Newtonsoft.Json.Linq;
namespace EggLink.DanhengServer.Data.Config.Task;
public class PredicateTaskList : TaskConfigInfo
{
public PredicateConfigInfo Predicate { get; set; } = new();
public List<TaskConfigInfo> SuccessTaskList { get; set; } = [];
public List<TaskConfigInfo> FailedTaskList { get; set; } = [];
public new static TaskConfigInfo LoadFromJsonObject(JObject obj)
{
PredicateTaskList info = new();
info.Type = obj[nameof(Type)]!.ToObject<string>()!;
if (obj.ContainsKey(nameof(Predicate)))
info.Predicate = PredicateConfigInfo.LoadFromJsonObject((obj[nameof(Predicate)] as JObject)!)!;
if (obj.ContainsKey(nameof(SuccessTaskList)))
info.SuccessTaskList = obj[nameof(SuccessTaskList)]
?.Select(x => TaskConfigInfo.LoadFromJsonObject((x as JObject)!)).ToList() ?? [];
if (obj.ContainsKey(nameof(FailedTaskList)))
info.FailedTaskList = obj[nameof(FailedTaskList)]
?.Select(x => TaskConfigInfo.LoadFromJsonObject((x as JObject)!)).ToList() ?? [];
return info;
}
}