JinChanChan/Assets/Scripts/Game/Config/EquipmentConfig.cs

85 lines
2.6 KiB
C#

using System.Collections.Generic;
using Sirenix.OdinInspector;
namespace Game
{
[System.Serializable]
public class EquipmentConfig
{
[LabelText("装备名称")] public string Name; // 装备名称
[LabelText("装备描述")] public string Description; // 装备描述
[LabelText("装备类型")] public EquipmentType Type; // 装备类型(基础装备、合成装备)
[LabelText("装备的属性加成")] public List<StatModifier> Stats; // 装备的属性加成(攻击力、生命值等)
[LabelText("装备附带的技能效果")] public List<EquipmentEffect> Effects; // 装备附带的技能效果
}
/// <summary>
/// 装备类型
/// </summary>
public enum EquipmentType
{
[LabelText("基础装备")] Base = 0,
[LabelText("合成装备")] Composite // 合成装备
}
/// <summary>
/// 装备的属性加成
/// </summary>
[System.Serializable]
public class StatModifier
{
[LabelText("属性加成类型")] public StatType StatType; // 攻击力、生命值等
[LabelText("属性加成数值")] public float Value; // 数值
public StatModifier(StatType statType, float value)
{
StatType = statType;
Value = value;
}
}
/// <summary>
/// 属性加成类型
/// </summary>
public enum StatType
{
[LabelText("攻击伤害")] AttackDamage = 0,
[LabelText("护甲")] Armor,
[LabelText("魔法抗性")] MagicResist,
[LabelText("血量")] Health,
[LabelText("攻击速度")] AttackSpeed,
[LabelText("法术强度")] AbilityPower
}
/// <summary>
/// 特效
/// </summary>
[System.Serializable]
public class EquipmentEffect
{
[LabelText("特效名称")] public string Name; // 特效名称
[LabelText("特效描述")] public string Description; // 特效描述
[LabelText("特效类型")] public EquipmentEffectType EffectType; // 特效类型
[LabelText("特效的数值")] public float Value; // 特效的数值
public EquipmentEffect(string name, string description, EquipmentEffectType effectType, float value)
{
Name = name;
Description = description;
EffectType = effectType;
Value = value;
}
}
/// <summary>
/// 特效类型
/// </summary>
public enum EquipmentEffectType
{
[LabelText("攻击")] OnAttack = 0,
[LabelText("受伤")] OnHit,
[LabelText("被动")] Passive,
[LabelText("死亡")] OnDeath,
[LabelText("活着")] Active
}
}