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();
}