1、action在需要使用委托的文件内定义
举个栗子:
class VirtualDigitButton
//定义委托
public Action<PointerEventData> ActionOnPointerDown;
public Action<PointerEventData> ActionOnPointerUp;
public Action<PointerEventData> ActionOnDrag;
//在执行方法时调用委托
public override void OnPointerDown(PointerEventData eventData){
ActionOnPointerDown?.Invoke(eventData);
}
//其中的一个按钮
public VirtualDigitButton lightAttackButton = null;
//委托赋值
lightAttackButton.ActionOnPointerDown = OnPointerDown;
lightAttackButton.ActionOnPointerUp = OnPointerUp;
lightAttackButton.ActionOnDrag = OnDrag;
//VirtualDigitButton内的OnPointerDown方法执行时,这里也会被委托调用。
public void OnPointerDown(PointerEventData eventData){
_image.gameObject.SetActive(true);
}