(1)在 Assets 下添加菜单,菜单脚本:
using UnityEngine;
[CreateAssetMenu(fileName = "New Data", menuName = "Character Stats/Data", order = 1)]
//!作用在 Assets 文件夹下,鼠标右键,菜单栏中添加一个按钮项,菜单名为 menuName,并执行生成名为 fileName 的脚本,order 为按钮显示顺序
public class Attack_SO: ScriptableObject
{
[Header("攻击距离")]
public float attackRange;
[Header("技能攻击距离")]
public float skillRange;
[Header("CD冷却时间")]
public float coolDown;
[Header("最小攻击数值")]
public int minDamge;
[Header("最大攻击数值")]
public int maxDamge;
[Header("暴击数值")]
public float criticalMultipliter;
[Header("暴击率")]
public float criticalChance;
[Header("击晕率")]
public float dizzyChance;
}
(2)使用:
using UnityEngine;
//!声明attackData后Unity中拖载就可以使用attackData里面的数据
public class CharacterStats : MonoBehaviour{
public Attack_SO attackData;
Debug.Log(attackData.maxDamge);
}