private Game() { Content.RootDirectory = "Content"; Window.Title = "Hero6"; var services = new MonoGameServiceLocator(Services); services.Add <IPlatformInfo, PlatformInfo>(); services.Add <IServiceLocator>(services); services.Add <IFileWrapper, FileWrapper>(); services.Add <IDirectoryWrapper, DirectoryWrapper>(); ui = services.Make <MonoGameUserInterfaces>(); services.Add <IUserInterfaces>(ui); gameSettings = new GameSettings(ui); services.Add <IGameSettings>(gameSettings); var userSettings = services.Make <UserSettings>(typeof(UserSettings)); services.Add <IUserSettings>(userSettings); services.Add <ILoggerCore, LoggerCore>(); logger = services.Make <Logger>(typeof(Logger)); services.Add <IMouseCore, MouseCore>(); services.Add <ILogger>(logger); services.Add <IControllerRepository, ControllerRepositoryProvider>(); services.Add(Content); campaigns = services.Make <MonoGameCampaigns>(); services.Add <ICampaigns>(campaigns); services.Add <IMouse, Mouse>(); var graphics = new GraphicsDeviceManager(this) { PreferredBackBufferWidth = userSettings.WindowWidth, PreferredBackBufferHeight = userSettings.WindowHeight, IsFullScreen = userSettings.IsFullScreen, GraphicsProfile = GraphicsProfile.Reach, #if ANDROID SupportedOrientations = DisplayOrientation.LandscapeLeft | DisplayOrientation.LandscapeRight #endif }; graphics.DeviceCreated += (s, a) => { spriteBatch = new SpriteBatch(GraphicsDevice); services.Add(graphics); services.Add(spriteBatch); logger.Info("Graphics Device Created."); logger.Info($"Graphics Adapter Width {GraphicsDevice.Adapter.CurrentDisplayMode.Width}"); logger.Info($"Graphics Adapter Height {GraphicsDevice.Adapter.CurrentDisplayMode.Height}"); logger.Info($"Graphics Adapter Aspect Ratio {GraphicsDevice.Adapter.CurrentDisplayMode.AspectRatio}"); GraphicsDeviceCreated?.Invoke(s, a); }; logger.Info("Hero6 Game Instance Created."); }