protected override void Initialize() { mMaterial = new Material("texture.fx", Window.Device); mQuadBinding = new MeshMaterialBinding(Window.Device, mMaterial, new Quad(Window.Device, new Vector4(0.6f, 0.6f, 0.6f, 0))); mTexture = new Texture(Window.Device, "texture.png"); mKeyboard = new Keyboard(); var stand = new OrbitingStand {Radius = 7, Azimuth = Constants.HALF_PI}; var lens = new PerspectiveProjectionLens(); mCamera = new Camera(stand, lens); var commands = new CommandManager(); commands.Add(ESCAPE, Exit); commands.Add(TAKE_SCREENSHOT, Window.TakeScreenshot); mInputCommandBinder = new InputCommandBinder(commands, mKeyboard); mInputCommandBinder.Bind(Button.Escape, ESCAPE); mInputCommandBinder.Bind(Button.PrintScreen, TAKE_SCREENSHOT); commands.Add(MOVE_BACKWARD, () => stand.Radius += Frametime); commands.Add(MOVE_FORWARD, () => stand.Radius -= Frametime); commands.Add(STRAFE_RIGHT, () => stand.Azimuth -= Frametime); commands.Add(STRAFE_LEFT, () => stand.Azimuth += Frametime); commands.Add(UP, () => stand.Declination += Frametime); commands.Add(DOWN, () => stand.Declination -= Frametime); mInputCommandBinder.Bind(Button.W, MOVE_FORWARD); mInputCommandBinder.Bind(Button.S, MOVE_BACKWARD); mInputCommandBinder.Bind(Button.D, STRAFE_RIGHT); mInputCommandBinder.Bind(Button.A, STRAFE_LEFT); mInputCommandBinder.Bind(Button.R, UP); mInputCommandBinder.Bind(Button.F, DOWN); }
public OrbitingCameraCommandBindingManager(ICommandManager commandManager, InputCommandBinder inputCommandBinder, OrbitingStand stand, Game game) : base(commandManager, inputCommandBinder, game) { commandManager.Add(MOVE_BACKWARD, () => stand.Radius += FrameTime); commandManager.Add(MOVE_FORWARD, () => stand.Radius -= FrameTime); commandManager.Add(STRAFE_RIGHT, () => stand.Azimuth -= FrameTime); commandManager.Add(STRAFE_LEFT, () => stand.Azimuth += FrameTime); commandManager.Add(UP, () => stand.Declination += FrameTime); commandManager.Add(DOWN, () => stand.Declination -= FrameTime); inputCommandBinder.Bind(Button.W, MOVE_FORWARD); inputCommandBinder.Bind(Button.S, MOVE_BACKWARD); inputCommandBinder.Bind(Button.D, STRAFE_RIGHT); inputCommandBinder.Bind(Button.A, STRAFE_LEFT); inputCommandBinder.Bind(Button.R, UP); inputCommandBinder.Bind(Button.F, DOWN); }
protected override void Initialize() { mMaterial = new Material("texture.fx", Window.Device); mQuadBinding = new MeshMaterialBinding(Window.Device, mMaterial, new Quad(Window.Device, new Vector4(0.6f, 0.6f, 0.6f, 0))); mTexture = new Texture(Window.Device, "texture.png"); mKeyboard = new Keyboard(); var stand = new OrbitingStand {Radius = 7, Azimuth = Constants.HALF_PI}; var lens = new PerspectiveProjectionLens(); mCamera = new Camera(stand, lens); var commands = new CommandManager(); var inputCommandBinder = new InputCommandBinder(commands, mKeyboard); mOrbitingCameraCommandBindingManager = new OrbitingCameraCommandBindingManager(commands, inputCommandBinder, stand, this); }