Beispiel #1
0
        private void GameForm_KeyDown(object sender, KeyEventArgs e)
        {
            if (ClientEngine.Entity == null)
            {
                return;
            }

            var newEntity = ClientEngine.Entity;

            switch (e.KeyCode)
            {
            case Keys.Left:
            {
                //KeysDown.Enqueue(e);
                newEntity.Direction = Direction.Left;
                newEntity.Command   = EntityAction.Move;
                ClientEngine.Entity = newEntity;
                break;
            }

            case Keys.Right:
            {
                //KeysDown.Enqueue(e);
                newEntity.Direction = Direction.Right;
                newEntity.Command   = EntityAction.Move;
                ClientEngine.Entity = newEntity;
                break;
            }

            case Keys.Up:
            {
                //KeysDown.Enqueue(e);
                newEntity.Direction = Direction.Up;
                newEntity.Command   = EntityAction.Move;
                ClientEngine.Entity = newEntity;
                break;
            }

            case Keys.Down:
            {
                //KeysDown.Enqueue(e);
                newEntity.Direction = Direction.Down;
                newEntity.Command   = EntityAction.Move;
                ClientEngine.Entity = newEntity;
                break;
            }

            case Keys.Space:
            {
                if (CanSoot)
                {
                    ClientEngine.Action(EntityAction.Fire);
                    lock (locker) CanSoot = false;
                    this.OnKeyUp(e);
                }
                break;
            }

            case Keys.Enter:
            {
                if (CanSoot)
                {
                    ClientEngine.Action(EntityAction.Mine);
                    lock (locker) CanSoot = false;
                    this.OnKeyUp(e);
                }
                break;
            }

            default: { return; }
            }
        }