Пример #1
0
        //TODO Could set these actions based on key bindings loaded from a file.
        //Could also be moved into GameEngine or Somewhere else (ActionHandler? BindingsConfigurator?)
        private void SetUpActions(IActionHandler actionHandler)
        {
            actionHandler.RegisterTriggerAction(Keys.Escape, _gameEngine.ResetGame);

            actionHandler.RegisterTriggerAction(Keys.X, () =>
            {
                var ship = _gameObjectFactory.GameObjects.OfType<Ship>().SingleOrDefault(x => x.Name == "ship 1");
                if (ship != null)
                {
                    ship.Damage(10f);
                }
            });

            actionHandler.RegisterContinuousAction(Keys.T, () => _drawingManager.MoveCamera(Vector3.Forward));
            actionHandler.RegisterContinuousAction(Keys.Y, () => _drawingManager.MoveCamera(Vector3.Up));
            actionHandler.RegisterContinuousAction(Keys.U, () => _drawingManager.ZoomCamera(-10));
            actionHandler.RegisterContinuousAction(Keys.J, () => _drawingManager.ZoomCamera(10));
            actionHandler.RegisterContinuousAction(Keys.I, () => _universe.Volume.Contract(10));
            actionHandler.RegisterContinuousAction(Keys.K, () => _universe.Volume.Expand(10));
        }