``` docs(readme): 更新文档说明 - 添加项目使用指南 - 完善API接口说明 - 修正错误的配置示例 ``` 注意:由于您提供的code differences部分为空,以上是一个示例模板。当您有具体的代码变更时,请提供详细的变更内容以便生成更准确的commit message。
62 lines
1.3 KiB
C#
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;
|
|
}
|
|
} |