ScriptableObject 事件监听我 实在研究不明白了,谢谢帮忙
我想就是通过监听value数字改变 来运行change方法 这样达到监听效果
但是我下面写了2个代码不行, 实在不知道什么地方错误 请帮忙看看
[CreateAssetMenu(fileName = "playerBlood", menuName = "Plyaer/playerBlood")]
public class FloatbloodSo : ScriptableObject
{
[SerializeField] private float value;
public float Value => value;
public Action change;
}
上面的是 ScriptableObject
[SerializeField]
private FloatbloodSo Hp;
public FloatbloodSo Maxhp;
private Image hleathbar;
private void Awake()
{
hleathbar = GetComponent
();
}
private void Start()
{
Hp.change += () => hleathbar.fillAmount = Hp.Value / Maxhp.Value;
}
change在哪调用的,血量变化的时候要调用change方法
void AddOrSubHp(){
xxx.change?.Invoke();
}