using EggLink.DanhengServer.Data.Excel; using EggLink.DanhengServer.Enums.Mission; using Newtonsoft.Json; using Newtonsoft.Json.Converters; namespace EggLink.DanhengServer.Data.Config; public class MissionInfo { public int MainMissionID { get; set; } public List StartSubMissionList { get; set; } = []; public List FinishSubMissionList { get; set; } = []; public List SubMissionList { get; set; } = []; public List MissionCustomValueList { get; set; } = []; } public class SubMissionInfo { public int ID { get; set; } public int LevelPlaneID { get; set; } public int LevelFloorID { get; set; } public int MainMissionID { get; set; } public string MissionJsonPath { get; set; } = ""; [JsonConverter(typeof(StringEnumConverter))] public SubMissionTakeTypeEnum TakeType { get; set; } public List? TakeParamIntList { get; set; } = []; // the mission's prerequisites [JsonConverter(typeof(StringEnumConverter))] public MissionFinishTypeEnum FinishType { get; set; } public int ParamInt1 { get; set; } public int ParamInt2 { get; set; } public int ParamInt3 { get; set; } public string ParamStr1 { get; set; } = ""; public List? ParamIntList { get; set; } = []; public List? ParamItemList { get; set; } = []; public List? FinishActionList { get; set; } = []; public int Progress { get; set; } public List? GroupIDList { get; set; } = []; public int SubRewardID { get; set; } } public class CustomValueInfo { public int Index { get; set; } public List ValidValueParamList { get; set; } = []; } public class FinishActionInfo { [JsonConverter(typeof(StringEnumConverter))] public FinishActionTypeEnum FinishActionType { get; set; } public List FinishActionPara { get; set; } = []; public List FinishActionParaString { get; set; } = []; }