예제 #1
0
        /// <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);
            }
        }
예제 #2
0
        /// <summary>
        /// Remove uma tela da lista do gerencidor de telas
        /// Não oferece transição gradual de fechamento, é imediata
        /// </summary>
        public void RemoveScreen(GameScreen screen)
        {
            // Se já tiver sido inicializada com um dipositivo gráfico
            if (this.isInitialized)
            {
                // Descarrega os conteúdos da tela
                screen.UnloadContent();
            }

            // Remove da lista de telas e de sua cópia
            this.screens.Remove(screen);
            this.screensToUpdate.Remove(screen);
        }
예제 #3
0
        /// <summary>
        /// Adiciona uma nova tela à lista do gerenciador de telas
        /// </summary>
        public void AddScreen(GameScreen screen, PlayerIndex? controllingPlayer)
        {
            screen.ControllingPlayer = controllingPlayer;
            screen.ScreenManager = this;
            screen.IsExiting = false;

            // Se já tiver sido inicializada com um dipositivo gráfico
            if (this.isInitialized)
            {
                // Carrega os conteúdos da tela
                screen.LoadContent();
            }

            // Adiciona à coleção de telas
            this.screens.Add(screen);
        }