using System.Collections.Generic; using Sirenix.OdinInspector; namespace Game { // public enum BuffType // { // Buff, // DeBuff, // // None, // // 加血, // // 加蓝, // // 加攻击力, // // 加防御力, // // 加攻击速度, // // 加回蓝速度, // // 加回血速度, // } // // [System.Serializable] // public class BuffConfig // { // /// // /// Buff ID // /// // public int BuffId; // // /// // /// Buff名字 // /// // public string BuffName; // // /// // /// Buff类型 // /// // public BuffType BuffType; // // /// // /// 持续时间 // /// // public float Duration; // // /// // /// 每次Tick造成5点伤害 // /// // public float DamagePerTick = 5; // // /// // /// 每1秒Tick一次 // /// // public float TickInterval = 1; // // /// // /// 最大层数 // /// // public int MaxLayerNumber = 1; // } [System.Serializable] public class BuffConfig { [LabelText("Buff的名称")] public string Name; // Buff的名称,例如"战士"、"游侠"等 [LabelText("Buff的描述")] public string Description; // Buff的描述 [LabelText("Buff带来的效果(可以是多个效果)")] public List Effects; // Buff带来的效果(可以是多个效果) } [System.Serializable] public class BuffEffect { [LabelText("效果类型")] public BuffEffectType EffectType; // 增加攻击力、增加生命值等 [LabelText("效果值,可以是百分比或固定数值")] public float Value; // 效果值,可以是百分比或固定数值 [LabelText("是否是百分比增益")] public bool IsPercentage; // 是否是百分比增益 public BuffEffect(BuffEffectType effectType, float value, bool isPercentage) { EffectType = effectType; Value = value; IsPercentage = isPercentage; } } public enum BuffEffectType { [LabelText("增加攻击力")] AttackDamage = 0, // 增加攻击力 [LabelText("增加护甲")] Armor, // 增加护甲 [LabelText("增加魔抗")] MagicResist, // 增加魔抗 [LabelText("增加生命值")] Health, // 增加生命值 [LabelText("增加攻击速度")] AttackSpeed, // 增加攻击速度 [LabelText("增加法术强度")] AbilityPower, // 增加法术强度 [LabelText("增加暴击几率")] CritChance, // 增加暴击几率 [LabelText("吸血效果")] Lifesteal, // 吸血效果 [LabelText("法力恢复")] ManaRegen // 法力恢复 } }