private bool HandleBlocks(Key key) { if (new[] { Key.W, Key.A, Key.S, Key.D }.Contains(key) == false) { return(false); } _blockPos = new Vector2(); if (ActiveKeys[Key.W]) { _blockPos.Y = 1; } if (ActiveKeys[Key.A]) { _blockPos.X = 1; } if (ActiveKeys[Key.S]) { _blockPos.Y = -1; } if (ActiveKeys[Key.D]) { _blockPos.X = -1; } return(true); }
public void OnKeyUp(Key key) { var hasChangd = false; if (key == Key.Q) { ChangeCase = false; hasChangd = true; } if (key == Key.E) { ChangeSymbols = false; hasChangd = true; } if (ActiveKeys.ContainsKey(key)) { ActiveKeys[key] = false; } if (HandleBlocks(key)) { hasChangd = true; } if (hasChangd && KeyChange != null) { KeyChange(this); } }
public void OnKeyDown(Key key) { ResetButtons(); var hasChangd = false; if (key == Key.Back) { Delete = true; hasChangd = true; } if (key == Key.Space) { Space = true; hasChangd = true; } if (key == Key.E) { ChangeSymbols = true; hasChangd = true; } if (key == Key.Q) { ChangeCase = true; hasChangd = true; } if (key == Key.Z) { MoveLeft = true; hasChangd = true; } if (key == Key.X) { MoveRight = true; hasChangd = true; } if (key == Key.F12) { OpenClose = true; hasChangd = true; } if (key == Key.Enter) { Enter = true; hasChangd = true; } _charPos = new Vector2(); if (new[] { Key.Up, Key.Left, Key.Right, Key.Down }.Contains(key)) { hasChangd = true; if (key == Key.Up) { _charPos.Y = 1; } if (key == Key.Left) { _charPos.X = 1; } if (key == Key.Down) { _charPos.Y = -1; } if (key == Key.Right) { _charPos.X = -1; } } if (ActiveKeys.ContainsKey(key)) { ActiveKeys[key] = true; } if (HandleBlocks(key)) { hasChangd = true; } if (hasChangd && KeyChange != null) { KeyChange(this); } _charPos = new Vector2(); ResetButtons(); }