SadRogueSharp.Consoles.MapConsole.ProcessKeyboard C# (CSharp) Method

ProcessKeyboard() public method

public ProcessKeyboard ( KeyboardInfo info ) : bool
info SadConsole.Input.KeyboardInfo
return bool
        public override bool ProcessKeyboard(KeyboardInfo info)
        {
            bool keyHit = false;

            var newPosition = player.Position;

            if (info.KeysPressed.Contains(AsciiKey.Get(Keys.Up)))
            {
                newPosition.Y -= 1;
                keyHit = true;
            }
            else if (info.KeysPressed.Contains(AsciiKey.Get(Keys.Down)))
            {
                newPosition.Y += 1;
                keyHit = true;
            }

            if (info.KeysPressed.Contains(AsciiKey.Get(Keys.Left)))
            {
                newPosition.X -= 1;
                keyHit = true;
            }
            else if (info.KeysPressed.Contains(AsciiKey.Get(Keys.Right)))
            {
                newPosition.X += 1;
                keyHit = true;
            }

            // Test location
            if (map.IsWalkable(newPosition.X, newPosition.Y))
            {
                player.Position = newPosition;

                UpdatePlayerView();

            }

            return keyHit || base.ProcessKeyboard(info);
        }