private void DragEvent(TouchControllersState state, Vector3 point1, Vector3 point1Delta, float EventTime) { /* * Событие перемешения обьекта, имеет 3 состояния Старт,работа,конец * Происхотит при попадании в Drag обьекты, без учета пальцев попавших в элементы UI. * При В старте нужно реализовать выдиление здания * При В работа перемешение, в конце проверку на отпускания браг обьекта. * Дополнительные проверки не нужны * point1 - палец 1 * point1Delta - дульта перемешения пальца 1 * EventTime - Время нахождения пальца в одном состоянии */ #if DEBUG_LOG Log.Write("DragEvent: " + state.ToString() + " p1:" + point1.ToString() + " dp1:" + point1Delta.ToString()); #endif DragModel dragModel = new DragModel() { stateT = state, EventTime = EventTime, point1 = point1, point1Delta = point1Delta }; MainContextView.DispatchStrangeEvent(EventGlobal.E_TouchAndMouseGestures_Drag, dragModel); }
private void OnDestroy() { if (dispatcher != null) { Debug.Log("Escape Key EVENT dispatcher RemoveListener"); dispatcher.RemoveListener(EventGlobal.E_AppBackButton, onAppBackButton); } else { Debug.Log("Escape Key EVENT RemoveListenerStrangeEvent RemoveListener"); MainContextView.RemoveListenerStrangeEvent(EventGlobal.E_AppBackButton, onAppBackButton); } }
protected override void Start() { #if UNITY_EDITOR if (IsDebug) { AppLoadCommand.isNormalStart = false; } #endif GameObject.DontDestroyOnLoad(this); instance = this; RunContext(); }
public override void BreakTouch(TouchGroup touches, float touchOneStateMoveTime = 0.0f, float touchOneStateTime = 0.0f, CheckingRayIntoObject checkingRay = null) { if (stateT == TouchControllersState.TCS_End) { return; } Touch[] touchOne = touches.touchOne; Touch[] touchTwo = touches.touchTwo; Touch[] touchTree = touches.touchTree; Vector3 point1 = Vector3.zero; Vector3 point2 = Vector3.zero; Vector3 point1Delta = Vector3.zero; Vector3 point2Delta = Vector3.zero; if (touchOne != null) { point1 = touchOne[0].position; point1Delta = touchOne[0].deltaPosition; } if (touchTwo != null) { point2 = touchTwo[0].position; point2Delta = touchTwo[0].deltaPosition; } ZoomModel zoom = new ZoomModel { point1 = point1, point1Delta = point1Delta, point2 = point2, point2Delta = point2Delta, stateT = stateT }; if (stateT == TouchControllersState.TCS_Start) { MainContextView.DispatchStrangeEvent(EventGlobal.E_TouchAndMouseGestures_Zoom, zoom); zoom.stateT = TouchControllersState.TCS_Action; MainContextView.DispatchStrangeEvent(EventGlobal.E_TouchAndMouseGestures_Zoom, zoom); zoom.stateT = TouchControllersState.TCS_End; MainContextView.DispatchStrangeEvent(EventGlobal.E_TouchAndMouseGestures_Zoom, zoom); } else if (stateT == TouchControllersState.TCS_Action) { MainContextView.DispatchStrangeEvent(EventGlobal.E_TouchAndMouseGestures_Zoom, zoom); zoom.stateT = TouchControllersState.TCS_End; MainContextView.DispatchStrangeEvent(EventGlobal.E_TouchAndMouseGestures_Zoom, zoom); } }
private void HoldEvent(TouchControllersState stateT, Vector3 point1, float EventTime, bool isHoldOnDragObject) { /* * Событие Зашатия пальца на экране, не имеет состояний срабатывает зажатии пальца в одном месте, без учета пальцев попавших в элементы UI. * isHoldOnDragObject - параметер определяюший произходил ли там над Drag обьектом */ #if DEBUG_LOG Log.Write("HoldEvent p1:" + point1.ToString() + " EventTime:" + EventTime.ToString() + " isDragObject:" + isHoldOnDragObject.ToString()); #endif HoldModel tapModel = new HoldModel() { stateT = stateT, point1 = point1, EventTime = EventTime, isHoldOnDragObject = isHoldOnDragObject }; MainContextView.DispatchStrangeEvent(EventGlobal.E_TouchAndMouseGestures_Hold, tapModel); }
private void TapEvent(TouchControllersState stateT, Vector3 point1, int tapCount, bool isTapOnDragObject) { tapGlobalCount++; /* * —обытие тапа по экрану, не имеет состо¤ний срабатывает при отпускании тапа, без учета пальцев попавших в элементы UI. * isTapOnDragObject - параметер определ¤юший произходил ли там над Drag обьектом */ #if DEBUG_LOG Log.Write("TapEvent p1:" + point1.ToString() + " tapCount:" + tapCount.ToString() + " isDragObject:" + isTapOnDragObject.ToString()); #endif TapModel tapModel = new TapModel() { stateT = stateT, point1 = point1, tapCount = tapCount, isTapOnDragObject = isTapOnDragObject, tapGlobalCount = tapGlobalCount }; MainContextView.DispatchStrangeEvent(EventGlobal.E_TouchAndMouseGestures_Tap, tapModel); }
public override void BreakTouch(TouchGroup touches, float touchOneStateMoveTime = 0.0f, float touchOneStateTime = 0.0f, CheckingRayIntoObject checkingRay = null) { if (stateT == TouchControllersState.TCS_End) { return; } Touch[] touchOne = touches.touchOne; Touch[] touchTwo = touches.touchTwo; Touch[] touchTree = touches.touchTree; Vector3 point1 = Vector3.zero; Vector3 point1Delta = Vector3.zero; if (touchOne != null) { point1 = touchOne[0].position; point1Delta = touchOne[0].deltaPosition; } DragModel dragModel = new DragModel() { stateT = stateT, EventTime = touchOneStateTime, point1 = point1, point1Delta = point1Delta }; if (stateT == TouchControllersState.TCS_Start) { MainContextView.DispatchStrangeEvent(EventGlobal.E_TouchAndMouseGestures_Drag, dragModel); dragModel.stateT = TouchControllersState.TCS_Action; MainContextView.DispatchStrangeEvent(EventGlobal.E_TouchAndMouseGestures_Drag, dragModel); dragModel.stateT = TouchControllersState.TCS_End; MainContextView.DispatchStrangeEvent(EventGlobal.E_TouchAndMouseGestures_Drag, dragModel); } else if (stateT == TouchControllersState.TCS_Action) { MainContextView.DispatchStrangeEvent(EventGlobal.E_TouchAndMouseGestures_Drag, dragModel); dragModel.stateT = TouchControllersState.TCS_End; MainContextView.DispatchStrangeEvent(EventGlobal.E_TouchAndMouseGestures_Drag, dragModel); } }
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// private void SwipeEvent(TouchControllersState _stateT, Vector3 point1, Vector3 point1Delta, float EventTime) { /* * Событие протягивания пальца, имеет 3 состояния Старт,работа,конец * Происхотит при резком здвижении пальца куда либо, без учета попадания в Drag обьекты, без учета пальцев попавших в элементы UI * Дополнительные проверки не нужны * point1 - палец 1 * point1Delta - дульта перемешения пальца 1 * EventTime - Время нахождения пальца в одном состоянии */ #if DEBUG_LOG Log.Write("SwipeEvent: " + _stateT.ToString() + " p1:" + point1.ToString() + " dp1:" + point1Delta.ToString()); #endif SwipeModel swipe = new SwipeModel { point1 = point1, point1Delta = point1Delta, EventTime = EventTime, stateT = _stateT }; MainContextView.DispatchStrangeEvent(EventGlobal.E_TouchAndMouseGestures_Swipe, swipe); }
private void ZoomEvent(TouchControllersState _stateT, Vector3 point1, Vector3 point2, Vector3 point1Delta, Vector3 point2Delta) { /* * Событие зума, имеет 3 состояния Старт,работа,конец * Происхотит при работе двумя пальцами, без учета пальцев попавших в элементы UI * Дополнительные проверки не нужны * point1 - палец 1 * point2 - палец 2 * point1Delta - дульта перемешения пальца 1 * point2Delta - дульта перемешения пальца 2 */ #if DEBUG_LOG Log.Write("ZoomEvent: " + _stateT.ToString() + " p1:" + point1.ToString() + " dp1:" + point1Delta.ToString() + " p2:" + point2.ToString() + " dp2:" + point2Delta.ToString()); #endif ZoomModel zoom = new ZoomModel { point1 = point1, point1Delta = point1Delta, point2 = point2, point2Delta = point2Delta, stateT = _stateT }; MainContextView.DispatchStrangeEvent(EventGlobal.E_TouchAndMouseGestures_Zoom, zoom); }
public MainContext(MonoBehaviour ctxView, bool autoMap) : base(ctxView, autoMap) { MainCtx = (MainContextView)ctxView; MainCtx.Packages = MainCtx.GetComponentsInChildren <StrangePackage>().ToList(); }
public void OnKey(InputActionStateModel inputActionStateModel) { MainContextView.DispatchStrangeEvent(RootEvents.E_InputOnKeyAction, inputActionStateModel); }
void Start() { GameObject.DontDestroyOnLoad(this); instance = this; isRunContext = false; }
public MainContext(MonoBehaviour ctxView, bool autoMap) : base(ctxView, autoMap) { MainCtx = (MainContextView)ctxView; MainCtx.Packages = MainCtx.GetComponentsInChildren<StrangePackage>().ToList(); }