using UnityEngine; using System.Collections; using UnityEngine.EventSystems; using UnityEngine.Events; using System.Collections.Generic; public class UIBattleMouseMove : MonoBehaviour { bool startMoving = false; UIEventTriggerListener trigger; CoreEvent startCE = new CoreEvent(ECoreEventType.EID_START_MOVE_MOUSE, Vector2.zero); CoreEvent ce = new CoreEvent(ECoreEventType.EID_MOUSE_DELTA, Vector2.zero); CoreEvent endCE = new CoreEvent(ECoreEventType.EID_END_MOVE_MOUSE, Vector2.zero); private void Start() { trigger = UIEventTriggerListener.Get(this.gameObject); trigger.onBeginDrag = OnBeginDrag; trigger.onDrag = OnDrag; trigger.onEndDrag = OnEndDrag; trigger.onPointerExit = OnDeselect; } private void OnBeginDrag() { startMoving = true; startCE.SetData(UIEventTriggerListener.currentEventData.delta); EventMgr.DispatchEvent(startCE); } private void OnDrag() { if(startMoving) { Vector2 delta = UIEventTriggerListener.currentEventData.delta; ce.SetData(delta); EventMgr.DispatchEvent(ce); } } private void OnEndDrag() { if(startMoving) { startMoving = false; endCE.SetData(UIEventTriggerListener.currentEventData.delta); EventMgr.DispatchEvent(endCE); } } private void OnDeselect() { //OnEndDrag(); } }