/// <summary> /// Allows the game to perform any initialization it needs to before starting to run. /// This is where it can query for any required services and load any non-graphic /// related content. Calling base.Initialize will enumerate through any components /// and initialize them as well. /// </summary> protected override void Initialize() { Graphics.PreferredBackBufferWidth = 1920; Graphics.PreferredBackBufferHeight = 1080; Graphics.SynchronizeWithVerticalRetrace = false; IsFixedTimeStep = false; Graphics.ApplyChanges(); Components.Add(new FrameRateCounter(this, "Content\\Fonts\\fpsfont")); Components.Add(new GameObjectInfoDisplay(this, 5, "Content\\Fonts\\debugfont", new Vector2(0f, 25f))); ComponentFactory componentFactory = new ComponentFactory(); GameObjectFactory gameObjectFactory = new GameObjectFactory(this.Content); gameObjectFactory.PathToXML = "EntityDefinitions\\entity.xml"; InputHandler inputHandler = new InputHandler(false); PlayerManager playerManager = new PlayerManager(); var collisionManager = new CollisionManager(new RectangleF(0f, 0f, Constants.INTERNAL_SCREEN_WIDTH, Constants.INTERNAL_SCREEN_HEIGHT)); var particleManager = new ParticleManager(Content, "ParticleEffects\\", "Textures\\"); GameServiceManager.AddService(typeof(IGameObjectFactory), gameObjectFactory); GameServiceManager.AddService(typeof(IComponentFactory), componentFactory); GameServiceManager.AddService(typeof(RenderableFactory), new RenderableFactory(this.Content)); GameServiceManager.AddService(typeof(IInputHandler), inputHandler); GameServiceManager.AddService(typeof(PlayerManager), playerManager); GameServiceManager.AddService(typeof(IGameObjectManager), new GameObjectManager()); GameServiceManager.AddService(typeof(ICollisionManager), collisionManager); GameServiceManager.AddService(typeof(IBehaviorFactory), new BehaviorFactory()); GameServiceManager.AddService(typeof(IActionFactory), new ActionFactory()); GameServiceManager.AddService(typeof(IRandomGenerator), new RandomGenerator()); GameServiceManager.AddService(typeof(IParticleManager), particleManager); GameServiceManager.AddService(typeof(ILayerManager), new LayerManager("CollisionDefinitions\\layers.xml", this.Content)); GameServiceManager.AddService(typeof(IActionManager), new ActionManager()); //Initialize the GameServices);); foreach (IGameService service in GameServiceManager.Services) { service.Initialize(); } CameraController.Initialize(this); CameraController.MoveCamera(new Vector2(GraphicsDevice.Viewport.Width / 2f, GraphicsDevice.Viewport.Height / 2f)); base.Initialize(); }
/// <summary> /// Allows the game to perform any initialization it needs to before starting to run. /// This is where it can query for any required services and load any non-graphic /// related content. Calling base.Initialize will enumerate through any components /// and initialize them as well. /// </summary> protected override void Initialize() { Graphics.PreferredBackBufferWidth = Constants.InternalResolutionWidth; Graphics.PreferredBackBufferHeight = Constants.InternalResolutionHeight; Graphics.SynchronizeWithVerticalRetrace = false; IsFixedTimeStep = false; Graphics.ApplyChanges(); //Components.Add(new FrameRateCounter(this, "Content\\Fonts\\fpsfont", 1f)); Components.Add(new GameObjectInfoDisplay(this, 0.5f, "Content\\Fonts\\debugfont", new Vector2(0f, 25f))); var componentFactory = new ComponentFactory(); var gameObjectFactory = new GameObjectFactory(this.Content); gameObjectFactory.PathToXML = "EntityDefinitions\\entity.xml"; var inputHandler = new InputHandler(false); var playerManager = new PlayerManager(); var collisionManager = new CollisionManager(new RectangleF(0f, 0f, Constants.InternalResolutionWidth, Constants.InternalResolutionHeight)); particleManager = new ParticleManager(Content, "ParticleEffects\\", "Textures\\"); // Create a new SpriteBatch, which can be used to draw textures. spriteBatch = new SpriteBatch(GraphicsDevice); renderer = new Renderer(Graphics, spriteBatch); renderer.SpriteSortMode = SpriteSortMode.FrontToBack; renderer.SetInternalResolution(Constants.InternalResolutionWidth, Constants.InternalResolutionHeight); renderer.SetScreenResolution(1920, 1080, false); particleRenderer = new SpriteBatchRenderer(); particleRenderer.GraphicsDeviceService = Graphics; cameraService = new CameraManager(); var camera = new BasicCamera2D(GraphicsDevice, "main"); cameraService.AddCamera(camera); GameServiceManager.AddService(typeof(IGameObjectFactory), gameObjectFactory); GameServiceManager.AddService(typeof(IComponentFactory), componentFactory); GameServiceManager.AddService(typeof(RenderableFactory), new RenderableFactory(Content)); GameServiceManager.AddService(typeof(IInputHandler), inputHandler); GameServiceManager.AddService(typeof(PlayerManager), playerManager); GameServiceManager.AddService(typeof(IGameObjectManager), new GameObjectManager()); GameServiceManager.AddService(typeof(ICollisionManager), collisionManager); GameServiceManager.AddService(typeof(IBehaviorFactory), new BehaviorFactory()); GameServiceManager.AddService(typeof(IActionFactory), new ActionFactory()); GameServiceManager.AddService(typeof(IRandomGenerator), new RandomGenerator()); GameServiceManager.AddService(typeof(IParticleManager), particleManager); GameServiceManager.AddService(typeof(IProjectileManager), new ProjectileManager()); GameServiceManager.AddService(typeof(IActionManager), new ActionManager()); GameServiceManager.AddService(typeof(ILayerManager), new LayerManager("layers.xml", Content)); GameServiceManager.AddService(typeof(IRenderer), renderer); GameServiceManager.AddService(typeof(ICameraService), cameraService); GameServiceManager.AddService(typeof(ILevelLogicManager), new LevelLogicManager()); //Initialize the GameServices);); foreach (var service in GameServiceManager.Services) { service.Initialize(); } base.Initialize(); }