/// <summary> /// Ativa a tela de 'loading' /// </summary> public static void Load(ScreenManager screenManager, bool loadingIsSlow, PlayerIndex? controllingPlayer, string displayText, params GameScreen[] screensToLoad) { // Percorre todas as telas foreach (GameScreen screen in screenManager.GetScreens()) { // Fecha cada tela screen.ExitScreen(); } // Inicializa a tela de 'loading' LoadingScreen loadingScreen = new LoadingScreen(screenManager, loadingIsSlow, displayText, screensToLoad); // Adiciona à coleção de telas screenManager.AddScreen(loadingScreen, controllingPlayer); }
/// <summary> /// Construtor privado, somente intanciado pelo método estático 'Load' /// </summary> private LoadingScreen(ScreenManager screenManager, bool loadingIsSlow, string displayText, GameScreen[] screensToLoad) { this.loadingIsSlow = loadingIsSlow; this.screensToLoad = screensToLoad; // Se estiver vazia a string, seta os valores padrões if (string.IsNullOrEmpty(displayText)) { displayText = "Loading..."; this.TransitionOnTime = TimeSpan.FromSeconds(0.5); } else { this.displayText = displayText; this.TransitionOnTime = TimeSpan.FromSeconds(5); } }
/// <summary> /// CONSTRUTOR /// Setar o tamanho da tela; /// Adicionar o ScreenManager e a tela de Menu /// </summary> public AssustadosGame() { // Nome da pasta que vai conter o conteúdo do game this.Content.RootDirectory = "Content"; // Criando o gerenciador de gráficos do device this.graphics = new GraphicsDeviceManager(this); this.graphics.PreferredBackBufferWidth = 800; this.graphics.PreferredBackBufferHeight = 600; // Criando o gerenciador de telas this.screenManager = new ScreenManager(this); // Adicionando o gerenciador de telas aos componentes do game this.Components.Add(this.screenManager); // Ativando as primeiras telas this.screenManager.AddScreen(new BackgroundScreen(), null); this.screenManager.AddScreen(new MainMenuScreen(), null); }