using EggLink.DanhengServer.Enums.Rogue;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
namespace EggLink.DanhengServer.Data.Config;
///
/// Orginal Name: RogueChestMapConfig
///
public class RogueChestMapInfo
{
public List PreStartRoomIDList { get; set; } = [];
public int Width { get; set; }
public int Height { get; set; }
public int StartGridItemID { get; set; }
public int EndGridItemID { get; set; }
public Dictionary RogueChestGridItemMap { get; set; } = [];
public Dictionary RogueChestEventMap { get; set; } = [];
public List RogueBlockCreateGroupList { get; set; } = [];
}
public class RogueChestGridItem
{
public int PosX { get; set; }
public int PosY { get; set; }
[JsonProperty(ItemConverterType = typeof(StringEnumConverter))]
public List BlockTypeList { get; set; } = [];
public bool ExportToJson { get; set; }
}
public class RogueChestModifierEvent
{
[JsonConverter(typeof(StringEnumConverter))]
public ModifierTriggerTypeEnum TriggerType { get; set; }
public List TriggerParamList { get; set; } = [];
[JsonConverter(typeof(StringEnumConverter))]
public ModifierEffectTypeEnum EffectType { get; set; }
public List EffectParamList { get; set; } = [];
public List EffectParam2List { get; set; } = [];
public float Weight { get; set; }
}
public class RogueBlockCreateGroup
{
public int BlockCreateID { get; set; }
public int GroupID { get; set; }
[JsonConverter(typeof(StringEnumConverter))]
public RogueDLCBlockTypeEnum BlockType { get; set; }
public List BlockCreatNumList { get; set; } = [];
public List MarkCreateRandomList { get; set; } = [];
}
public class RogueDLCBlockWeight
{
public int CreateNum { get; set; }
public int Weight { get; set; }
}
public class RogueDLCMarkType
{
public int TypeID { get; set; }
public int Weight { get; set; }
}