Files
daluandou/Assets/Script/CharacterData.cs
T
huadexuan 769aea30f3 ```
feat(gameplay): 添加建筑系统和改进摄像机控制

- 移除人类士兵数据资产文件,重构为建筑放置系统
- 在CharacterData中添加productionInterval和buildingCost字段用于建筑生产
- 实现CameraFollow脚本的完整重写,支持键盘WASD拖动、鼠标拖动、触摸拖动
- 添加摄像机缩放功能,支持上下键和触摸双指缩放
- 更新Projecttile.cs以同时处理单位和建筑目标的伤害检测
- 修改SummonCardButton从法力值召唤改为金币建筑放置模式
- 在UnitBase.cs中更新攻击逻辑以支持对建筑造成伤害
- 升级WorldHealthBar以显示建筑生产进度和更好的缩放补偿
- 修复MainCharacterDebugMovement移除键盘移动输入冲突
- 更新包管理器中的codely.bridge版本从1.0.80到1.0.81
```
2026-09-13 23:35:59 +08:00

66 lines
1.4 KiB
C#

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("兵营生产")]
[Min(0.1f)]
public float productionInterval = 5f;
[Min(0)]
public int buildingCost = 100;
[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;
}
}