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; } } }