using UnityEngine; [CreateAssetMenu(fileName = "NewCharacterData", menuName = "召唤之战/角色数据")] public class CharacterData : ScriptableObject { [Header("基础信息")] public string characterId = "unknown"; public string characterName = "未命名角色"; [TextArea(2, 4)] public string description = ""; [Header("UI 显示")] public Sprite cardIcon; [Header("召唤配置")] public GameObject unitPrefab; [Min(0)] public int manaCost = 1; [Min(0f)] public float cooldownTime = 1f; [Header("基础属性(1级)")] [Min(0f)] public float baseMaxHealth = 100f; [Min(0f)] public float baseAttackPower = 10f; [Min(0f)] public float baseMoveSpeed = 3f; [Header("升级成长")] [Min(0f)] public float healthPerLevel = 10f; [Min(0f)] public float attackPerLevel = 5f; [Min(0f)] public float moveSpeedPerLevel = 0f; public float GetMaxHealth(int level) { return baseMaxHealth + (level - 1) * healthPerLevel; } public float GetAttackPower(int level) { return baseAttackPower + (level - 1) * attackPerLevel; } public float GetMoveSpeed(int level) { return baseMoveSpeed + (level - 1) * moveSpeedPerLevel; } }