public TyrianRemake() { _graphics = new GraphicsDeviceManager(this); Content.RootDirectory = "Content"; // Create the screen manager component. var screenManager = new ScreenManager(this, _graphics); Components.Add(screenManager); // Activate the first screens. screenManager.AddScreen(new BackgroundScreen(), null); screenManager.AddScreen(new MainMenuScreen(), null); //Set some fancy shit _graphics.PreferMultiSampling = true; GraphicsDevice.SamplerStates[0] = SamplerState.AnisotropicClamp; _graphics.PreferredDepthStencilFormat = DepthFormat.Depth24Stencil8; //Initialize screen size to an ideal resolution for the XBox 360 _graphics.PreferredBackBufferWidth = DefaultWidth; _graphics.PreferredBackBufferHeight = DefaultHeight; //this.Window.ClientBounds.Location = new Point(Convert.ToInt32(primaryScreenWidth * resolutionScale), Convert.ToInt32(primaryScreenHeight * resolutionScale)); }
/// <summary> /// The constructor is private: loading screens should /// be activated via the static Load method instead. /// </summary> private LoadingScreen(ScreenManager screenManager, bool loadingIsSlow, GameScreen[] screensToLoad) { _loadingIsSlow = loadingIsSlow; _screensToLoad = screensToLoad; TransitionOnTime = TimeSpan.FromSeconds(0.5); }
/// <summary> /// Activates the loading screen. /// </summary> public static void Load(ScreenManager screenManager, bool loadingIsSlow, PlayerIndex? controllingPlayer, params GameScreen[] screensToLoad) { // Tell all the current screens to transition off. foreach (var screen in screenManager.GetScreens()) screen.ExitScreen(); // Create and activate the loading screen. var loadingScreen = new LoadingScreen( screenManager, loadingIsSlow, screensToLoad); screenManager.AddScreen(loadingScreen, controllingPlayer); }