using System.Collections; using System.Collections.Generic; using UnityEngine; using HighlightPlus; using UnityEngine.EventSystems; /// /// 常驻交互 /// public class PermanentTriggerBase : MonoBehaviour { public int triggerID; public string triggerName; [HideInInspector] public HighlightEffect _highlight; private void Awake() { _highlight = GetComponent(); OnAwake(); } private void Start() { GameManager.EventMgr.AddEventListener(Enum_EventType.SwitchSubProcessStepTriggerID, SwitchSubProcessStepTriggerID); OnStart(); } private void SwitchSubProcessStepTriggerID(int arg0) { if (triggerID == arg0) { _highlight.highlighted = true; Debug.Log("我应该提示"); } } /// /// Awake /// protected virtual void OnAwake() { } /// /// Start /// protected virtual void OnStart() { } private void OnMouseEnter() { if (EventSystem.current.IsPointerOverGameObject()) return; OnMEnter(); } private void OnMouseDown() { if (EventSystem.current.IsPointerOverGameObject()) return; OnMDown(); } private void OnMouseExit() { if (EventSystem.current.IsPointerOverGameObject()) return; OnMExit(); } protected virtual void OnMEnter() { } protected virtual void OnMDown() { } protected virtual void OnMExit() { } private void OnDestroy() { GameManager.EventMgr.RemoveEventListener(Enum_EventType.SwitchSubProcessStepTriggerID, SwitchSubProcessStepTriggerID); } private void OnDisable() { GameManager.EventMgr.RemoveEventListener(Enum_EventType.SwitchSubProcessStepTriggerID, SwitchSubProcessStepTriggerID); } }