private void SetKeyBindings() { KeyMapper.RegisterBinding("octoawesome:forward", Languages.OctoKeys.forward); KeyMapper.RegisterBinding("octoawesome:left", Languages.OctoKeys.left); KeyMapper.RegisterBinding("octoawesome:backward", Languages.OctoKeys.backward); KeyMapper.RegisterBinding("octoawesome:right", Languages.OctoKeys.right); KeyMapper.RegisterBinding("octoawesome:headup", Languages.OctoKeys.headup); KeyMapper.RegisterBinding("octoawesome:headdown", Languages.OctoKeys.headdown); KeyMapper.RegisterBinding("octoawesome:headleft", Languages.OctoKeys.headleft); KeyMapper.RegisterBinding("octoawesome:headright", Languages.OctoKeys.headright); KeyMapper.RegisterBinding("octoawesome:interact", Languages.OctoKeys.interact); KeyMapper.RegisterBinding("octoawesome:apply", Languages.OctoKeys.apply); KeyMapper.RegisterBinding("octoawesome:flymode", Languages.OctoKeys.flymode); KeyMapper.RegisterBinding("octoawesome:jump", Languages.OctoKeys.jump); for (int i = 0; i < 10; i++) { KeyMapper.RegisterBinding("octoawesome:slot" + i, Languages.OctoKeys.ResourceManager.GetString("slot" + i)); } KeyMapper.RegisterBinding("octoawesome:debug.allblocks", Languages.OctoKeys.debug_allblocks); KeyMapper.RegisterBinding("octoawesome:debug.control", Languages.OctoKeys.debug_control); KeyMapper.RegisterBinding("octoawesome:inventory", Languages.OctoKeys.inventory); KeyMapper.RegisterBinding("octoawesome:hidecontrols", Languages.OctoKeys.hidecontrols); KeyMapper.RegisterBinding("octoawesome:exit", Languages.OctoKeys.exit); KeyMapper.RegisterBinding("octoawesome:freemouse", Languages.OctoKeys.freemouse); KeyMapper.RegisterBinding("octoawesome:fullscreen", Languages.OctoKeys.fullscreen); KeyMapper.RegisterBinding("octoawesome:teleport", Languages.OctoKeys.teleport); Dictionary <string, Keys> standardKeys = new Dictionary <string, Keys>() { { "octoawesome:forward", Keys.W }, { "octoawesome:left", Keys.A }, { "octoawesome:backward", Keys.S }, { "octoawesome:right", Keys.D }, { "octoawesome:headup", Keys.Up }, { "octoawesome:headdown", Keys.Down }, { "octoawesome:headleft", Keys.Left }, { "octoawesome:headright", Keys.Right }, { "octoawesome:interact", Keys.E }, { "octoawesome:apply", Keys.Q }, { "octoawesome:flymode", Keys.ScrollLock }, { "octoawesome:jump", Keys.Space }, { "octoawesome:slot0", Keys.D1 }, { "octoawesome:slot1", Keys.D2 }, { "octoawesome:slot2", Keys.D3 }, { "octoawesome:slot3", Keys.D4 }, { "octoawesome:slot4", Keys.D5 }, { "octoawesome:slot5", Keys.D6 }, { "octoawesome:slot6", Keys.D7 }, { "octoawesome:slot7", Keys.D8 }, { "octoawesome:slot8", Keys.D9 }, { "octoawesome:slot9", Keys.D0 }, { "octoawesome:debug.allblocks", Keys.L }, { "octoawesome:debug.control", Keys.F10 }, { "octoawesome:inventory", Keys.I }, { "octoawesome:hidecontrols", Keys.F9 }, { "octoawesome:exit", Keys.Escape }, { "octoawesome:freemouse", Keys.F12 }, { "octoawesome:fullscreen", Keys.F11 }, { "octoawesome:teleport", Keys.T } }; KeyMapper.LoadFromConfig(standardKeys); KeyMapper.AddAction("octoawesome:fullscreen", type => { if (type == KeyMapper.KeyType.Down) { Window.Fullscreen = !Window.Fullscreen; } }); }
public OctoGame() : base() { graphics = new GraphicsDeviceManager(this); graphics.PreferredBackBufferWidth = 1080; graphics.PreferredBackBufferHeight = 720; Content.RootDirectory = "Content"; Window.Title = "OctoAwesome"; IsMouseVisible = true; Window.AllowUserResizing = true; TargetElapsedTime = new TimeSpan(0, 0, 0, 0, 15); int viewrange; if (int.TryParse(SettingsManager.Get("Viewrange"), out viewrange)) { if (viewrange < 1) { throw new NotSupportedException("Viewrange in app.config darf nicht kleiner 1 sein"); } SceneControl.VIEWRANGE = viewrange; } Simulation = new SimulationComponent(this); Simulation.UpdateOrder = 4; Components.Add(Simulation); Player = new PlayerComponent(this); Player.UpdateOrder = 2; Components.Add(Player); Camera = new CameraComponent(this); Camera.UpdateOrder = 3; Components.Add(Camera); Screen = new ScreenComponent(this); Screen.UpdateOrder = 1; Screen.DrawOrder = 1; Components.Add(Screen); KeyMapper = new KeyMapper(Screen); Window.ClientSizeChanged += (s, e) => { if (Window.ClientBounds.Height == graphics.PreferredBackBufferHeight && Window.ClientBounds.Width == graphics.PreferredBackBufferWidth) { return; } graphics.PreferredBackBufferHeight = Window.ClientBounds.Height; graphics.PreferredBackBufferWidth = Window.ClientBounds.Width; graphics.ApplyChanges(); }; KeyMapper.RegisterBinding("octoawesome:debugBinding", "Debug"); KeyMapper.AddKey("octoawesome:debugBinding", Keys.F); KeyMapper.AddAction("octoawesome:debugBinding", type => { Console.WriteLine(type); }); KeyMapper.RegisterBinding("octoawesome:forward", "Forward"); KeyMapper.AddKey("octoawesome:forward", Keys.W); }