using System.Text.Json.Serialization; using System.Collections.Generic; namespace Config; public static partial class ExcelConfig { public class ActivePropBase { /// <summary> /// Buff Id /// </summary> [JsonInclude] public string Id; /// <summary> /// 备注 /// </summary> [JsonInclude] public string Remark; /// <summary> /// 属性绑定Buff实体的Id,这个id时ActivityBase表Id /// </summary> public ActivityBase Activity; /// <summary> /// 被动Buff效果 <br/> /// 也就是当前buff道具所有挂载的被动属性集合, 具体属性名称请参阅buff属性表 <br/> /// key为buff属性名称 <br/> /// value为buff初始化参数 /// </summary> [JsonInclude] public Dictionary<string, float[]> Buff; /// <summary> /// 道具使用条件 <br/> /// 参数配置方式与buff字段相同 <br/> /// 性名称请参阅condition属性表 /// </summary> [JsonInclude] public Dictionary<string, float[]> Condition; /// <summary> /// 道具使用效果 <br/> /// 参数配置方式与buff字段相同 <br/> /// 性名称请参阅effect属性表 /// </summary> [JsonInclude] public Dictionary<string, float[]> Effect; /// <summary> /// 道具充能效果 <br/> /// 参数配置方式与buff字段相同 <br/> /// 性名称请参阅charge属性表 <br/> /// 注意: 仅当'IsConsumables'为false是生效 /// </summary> [JsonInclude] public Dictionary<string, float[]> Charge; /// <summary> /// 使用道具的效果持续时间 <br/> /// 单位: 秒 /// </summary> [JsonInclude] public float Duration; /// <summary> /// 使用一次后的冷却时间 <br/> /// 单位: 秒 /// </summary> [JsonInclude] public float CooldownTime; /// <summary> /// 是否是消耗品, 如果为true, 则每次使用都会消耗叠加数量 /// </summary> [JsonInclude] public bool IsConsumables; /// <summary> /// 最大叠加次数, 仅当'IsConsumables'为true时有效 /// </summary> [JsonInclude] public uint MaxCount; /// <summary> /// 返回浅拷贝出的新对象 /// </summary> public ActivePropBase Clone() { var inst = new ActivePropBase(); inst.Id = Id; inst.Remark = Remark; inst.Activity = Activity; inst.Buff = Buff; inst.Condition = Condition; inst.Effect = Effect; inst.Charge = Charge; inst.Duration = Duration; inst.CooldownTime = CooldownTime; inst.IsConsumables = IsConsumables; inst.MaxCount = MaxCount; return inst; } } private class Ref_ActivePropBase : ActivePropBase { [JsonInclude] public string __Activity; } }