private static void HandleDirection(Direction direction, Map map, GameWindow window, IGameEngine engine) { if (!map.InTargettingMode) { if (Keyboard.Modifiers != ModifierKeys.Shift) { engine.Actions.Move(direction); window.UpdateWorld(); } else { RunningKeyboardHandler runner = new RunningKeyboardHandler(window, engine); runner.StartRunning(direction); } } else { throw new InvalidOperationException("DefaultKeyboardHandler and Map disagree on current state"); } }
private static void OnRunTargetSelected(GameWindow window, IGameEngine engine, MageCrawlPoint point) { window.Map.InTargettingMode = false; RunningKeyboardHandler runner = new RunningKeyboardHandler(window, engine); runner.StartRunning(point); }