Unity 监听Button Interactable状态

发布时间 2023-07-12 14:20:35作者: ZTianming

通过继承Button 重写DoStateTransition方法来监测Button的Interactable状态,外部可以在InteractableChanged添加绑定监听方法

public class MyButton : Button
{
	public event Action<bool> InteractableChanged;
    protected override void DoStateTransition(SelectionState state, bool instant)
    {
        if (state == SelectionState.Disabled)
        {
            InteractableChanged?.Invoke(interactable);
        }
        else if (state == SelectionState.Normal)
        {
            InteractableChanged?.Invoke(interactable);
        }
    }
}