using UnityEngine; using UnityEngine.UI; using UnityEngine.EventSystems; using AX.InputSystem; [RequireComponent(typeof(BaseGameObjInfo))] [RequireComponent(typeof(CreateStaticObjID))] [RequireComponent(typeof(Toggle))] public abstract class BaseToggleClick : MonoBehaviour,IPointerClickHandler { public void OnPointerClick(PointerEventData eventData) { var interactable = GetComponent().interactable; if (interactable) { var isOn = GetComponent().isOn; var arg = new UIToggleArgs(); arg.isOn = isOn; arg.currentCursorPos = Input.mousePosition; RegisterUIInputEvent.RegisterUIInputHistory(gameObject, this.GetType().Name, "Click", arg); RespondFun(isOn); } } public abstract void RespondFun(bool value); }