public void Turn(UserInputEvent aUserInputEvent)
 {
     if (!(currentGameStatus == null || currentGameStatus is FinishLevel))
     {
         UserInputEventDispatcher.DispatchEvent(aUserInputEvent);
     }
 }
        public void HandleEvent(UserInputEvent aEvent)
        {
            if (isReplayMode)
            {
                return;
            }

            Turn(aEvent);
            RecordEvent(aEvent);
        }
Exemple #3
0
        protected bool WaitInput(UserInputEventType eventType, out EventArgs e)
        {
            while (true)
            {
                Thread.Sleep(1);
                UserInputEvent.TryDequeue(out e);
                if (eventType == UserInputEventType.None)
                {
                    return(true);
                }

                if (e is KeyEventArgs && ((KeyEventArgs)e).KeyData == Keys.Escape)
                {
                    return(false);
                }

                if ((eventType & UserInputEventType.Keyboard) != 0 && e is KeyEventArgs)
                {
                    return(true);
                }
                else if (e is MouseEventArgs)
                {
                    MouseEventArgs m = (MouseEventArgs)e;

                    MousePoint = (Point) new Vec3D(m.X, m.Y, 0);
                    if ((ManagementControl.Instance.MouseLink & MouseLinkingType.Vertex) != 0)
                    {
                        for (int i = 0; i < OwnerDocument.AllVertices.Count - 1; i++)
                        {
                            Point p = OwnerDocument.AllVertices[i];
                            if ((p - new Vec3D(MouseX, MouseY, 0)).LengthSqr() >= LinkDistanceSquare)
                            {
                                continue;
                            }
                            MousePoint = p;
                            break;
                        }
                    }
                    if ((ManagementControl.Instance.MouseLink & MouseLinkingType.Intersection) != 0)
                    {
                    }

                    if (m.Button == MouseButtons.None &&
                        (eventType & UserInputEventType.MouseMove) != 0)
                    {
                        return(true);
                    }
                    else if (m.Button != MouseButtons.None &&
                             (eventType & UserInputEventType.MouseClick) != 0)
                    {
                        return(true);
                    }
                }
            }
        }
        private void Turn(UserInputEvent aEvent)
        {
            switch (aEvent)
            {
            case TurnLeft _:
                TurnLeft();
                break;

            case TurnRight _:
                TurnRight();
                break;

            case null:
                throw new ArgumentNullException(nameof(aEvent));
            }
        }
Exemple #5
0
 private void ReceiveUserInputEvent(UserInputEvent data)
 {
     EventManager.Send <PulseButtonEvent>(new PulseButtonEvent(UIEvent.Type.Building, false));
     this.m_stopTestTimer = 0f;
 }