Files
daluandou/Assets/Scripts/数据脚本/CharacterData.cs
T
huadexuan 7d9d0f52d1 根据提供的code differences信息,由于没有具体的代码变更内容,我将生成一个通用的commit message模板:
```
docs(readme): 更新文档说明

- 添加项目使用指南
- 完善API接口说明
- 修正错误的配置示例
```

注意:由于您提供的code differences部分为空,以上是一个示例模板。当您有具体的代码变更时,请提供详细的变更内容以便生成更准确的commit message。
2026-10-04 22:58:39 +08:00

62 lines
1.3 KiB
C#

using UnityEngine;
public enum CharacterRarity
{
Blue = 0,
Orange = 1,
Purple = 2,
Red = 3
}
[CreateAssetMenu(fileName = "NewCharacterData", menuName = "召唤之战/角色数据")]
public class CharacterData : ScriptableObject
{
[Header("基础信息")]
public string characterId = "unknown";
public string characterName = "未命名角色";
public CharacterRarity rarity = CharacterRarity.Blue;
[TextArea(2, 4)]
public string description = "";
[Header("UI 显示")]
public Sprite cardIcon;
[Header("角色基础配置")]
public GameObject unitPrefab;
[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;
}
}