private void SetupCursorKeyInput() { BrokerToScene(ConsoleKey.UpArrow, () => { SceneHelpers.MoveThingSafeBy(PreviewScene, Cursor, 0, -ScenePanel.PixelSize.H); }); BrokerToScene(ConsoleKey.DownArrow, () => { SceneHelpers.MoveThingSafeBy(PreviewScene, Cursor, 0, ScenePanel.PixelSize.H); }); BrokerToScene(ConsoleKey.LeftArrow, () => { SceneHelpers.MoveThingSafeBy(PreviewScene, Cursor, -ScenePanel.PixelSize.W, 0); }); BrokerToScene(ConsoleKey.RightArrow, () => { SceneHelpers.MoveThingSafeBy(PreviewScene, Cursor, ScenePanel.PixelSize.W, 0); }); }
public void MoveRight() { if (FreeAimCursor != null) { SceneHelpers.MoveThingSafeBy(Scene, FreeAimCursor, 1, 0); return; } if (Speed.SpeedX > Math.Abs(Speed.SpeedY)) { Speed.SpeedX = 0; Speed.SpeedY = 0; this.RoundToNearestPixel(); } else { Speed.SpeedX = 12; Speed.SpeedY = 0; this.RoundToNearestPixel(); } }
public void MoveUp() { if (FreeAimCursor != null) { SceneHelpers.MoveThingSafeBy(Scene, FreeAimCursor, 0, -1); return; } if (Speed.SpeedY < 0 && Math.Abs(Speed.SpeedY) > Math.Abs(Speed.SpeedX)) { Speed.SpeedY = 0; Speed.SpeedX = 0; this.RoundToNearestPixel(); } else { Speed.SpeedY = -7; Speed.SpeedX = 0; this.RoundToNearestPixel(); } }