public DnK() { Graphics = new GraphicsDeviceManager(this) { PreferredBackBufferWidth = Config.Resolution.X, PreferredBackBufferHeight = Config.Resolution.Y }; ScreenRectangle = new Rectangle(0, 0, Config.Resolution.X, Config.Resolution.Y); IsMouseVisible = true; Graphics.IsFullScreen = Config.FullScreen; Graphics.SynchronizeWithVerticalRetrace = true; // Pass through the FPS capping (60 FPS) if (!Config.FpsCapping) { IsFixedTimeStep = false; Graphics.SynchronizeWithVerticalRetrace = false; } Graphics.ApplyChanges(); Content.RootDirectory = "Content"; Components.Add(new InputHandler(this)); _stateManager = new GameStateManager(this); Components.Add(_stateManager); // Screens TitleScreen = new TitleScreen(this, _stateManager); GameConfigurationScreen = new GameConfigurationScreen(this, _stateManager); GameplayScreen = new GameplayScreen(this, _stateManager); LeaderboardScreen = new LeaderboardScreen(this, _stateManager); ImprovementScreen = new ImprovementScreen(this, _stateManager); GameOverScreen = new GameOverScreen(this, _stateManager); OptionsScreen = new OptionsScreen(this, _stateManager); KeyboardInputsScreen = new KeyboardInputsScreen(this, _stateManager); GamepadInputsScreen = new GamepadInputsScreen(this, _stateManager); _stateManager.ChangeState(TitleScreen); // FPS Components.Add(new FrameRateCounter(this)); }
protected override void Initialize() { StaticClassSerializer.Load(typeof(PlayerData), "data.bin"); // Manage inputs like keyboard or gamepad Components.Add(new InputHandler(this)); // Display FPS at the top left screen's corner Components.Add(new FrameRateCounter(this)); _stateManager = new GameStateManager(this); Components.Add(_stateManager); // Screens TitleScreen = new TitleScreen(this, _stateManager); DebugScreen = new DebugScreen(this, _stateManager); PatternTestScreen = new PatternTestScreen(this, _stateManager); GameConfigurationScreen = new GameConfigurationScreen(this, _stateManager); GameplayScreen = new GameplayScreen(this, _stateManager); LeaderboardScreen = new LeaderboardScreen(this, _stateManager); ImprovementScreen = new ImprovementScreen(this, _stateManager); GameOverScreen = new GameOverScreen(this, _stateManager); OptionsScreen = new OptionsScreen(this, _stateManager); KeyboardInputsScreen = new KeyboardInputsScreen(this, _stateManager); GamepadInputsScreen = new GamepadInputsScreen(this, _stateManager); _stateManager.ChangeState(TitleScreen); ParticleManager = new ParticleManager<ParticleState>(1024 * 20, ParticleState.UpdateParticle); base.Initialize(); }