protected override void Initialize() { this.IsMouseVisible = true; //Get Systems RenderSystem = SystemManager.Instance.GetSystem <RenderSystem>(); LoadContentSystem = SystemManager.Instance.GetSystem <LoadContentSystem>(); InputHandlerSystem = SystemManager.Instance.GetSystem <InputHandler>(); TankMovementSystem = SystemManager.Instance.GetSystem <TankMovementSystem>(); TitlesafeRenderSystem = SystemManager.Instance.GetSystem <TitlesafeRenderSystem>(); CollisionSystem = SystemManager.Instance.GetSystem <CollisionSystem>(); CameraFollowSystem = SystemManager.Instance.GetSystem <CameraSceneSystem>(); LightSystems = SystemManager.Instance.GetSystem <FlashlightSystem>(); MoveSystem = SystemManager.Instance.GetSystem <MoveSystem>(); CollisionResolveSystem = SystemManager.Instance.GetSystem <CollisionResolveSystem>(); WallCollisionSystem = SystemManager.Instance.GetSystem <WallCollisionSystem>(); AISystem = SystemManager.Instance.GetSystem <AISystem>(); EnemyCollisionSystem = SystemManager.Instance.GetSystem <EnemyCollisionSystem>(); AnimationSystem = SystemManager.Instance.GetSystem <AnimationSystem>(); SoundSystem = SystemManager.Instance.GetSystem <SoundSystem>(); WeaponSystem = SystemManager.Instance.GetSystem <WeaponSystem>(); BulletCollisionSystem = SystemManager.Instance.GetSystem <BulletCollisionSystem>(); HealthSystem = SystemManager.Instance.GetSystem <HealthSystem>(); TempGameEnder = new TempGameEnder(); //Init systems that require initialization TankMovementSystem.Start(); WallCollisionSystem.Start(); SoundSystem.Start(); WeaponSystem.Start(); EnemyCollisionSystem.Start(); BulletCollisionSystem.Start(); _gameDependencies.GameContent = this.Content; _gameDependencies.SpriteBatch = new SpriteBatch(GraphicsDevice); // just quickly done for FPS testing spriteBatch = _gameDependencies.SpriteBatch; _gameDependencies.Game = this; CreateTestEntities(); base.Initialize(); }