コード例 #1
0
ファイル: GameScreenManager.cs プロジェクト: DrGurka/PP_OS
        public void ChangeScreen(IGameScreen screen)
        {
            RemoveAllScreens();

            gameScreen.Add(screen);

            screen.Initialize(contentManager);
        }
コード例 #2
0
        public void PushScreen(IGameScreen screen)
        {
            screen.ScreenManager = this;
            activeGameScreens.Add(screen);

            screen.Initialize(contentManager);

            Mouse.SetCursor(screen.CursorInfo.CursorTexture);
            Game.IsMouseVisible = screen.CursorInfo.ShowCursor;
        }
コード例 #3
0
ファイル: ScreenManager.cs プロジェクト: lunacys/lunge
        public void LoadScreen(IGameScreen screen)
        {
            _activeScreen?.UnloadContent();
            _activeScreen?.Dispose();

            screen.ScreenManager = this;
            screen.Initialize();
            screen.LoadContent();
            _activeScreen = screen;
        }
コード例 #4
0
        protected override void Initialize()
        {
            Screen = new GamePlayScreen(this, TouchPanel.GetState().IsConnected ? (IInputControl) new TouchControl() : (IInputControl) new MouseControl());

            IsMouseVisible = true;

            SpriteBatch = new SpriteBatch(GraphicsDevice);
            Screen.Initialize();

            base.Initialize();
        }
コード例 #5
0
        private void TransitionScene()
        {
            _activeScene?.UnloadContent();

            GC.Collect();

            _activeScene = _nextScene;
            _nextScene   = null;

            _activeScene?.Initialize();
        }
コード例 #6
0
ファイル: GameScreenManager.cs プロジェクト: DrGurka/PP_OS
        public void PushScreen(IGameScreen screen)
        {
            if (!IsScreenListEmpty)
            {
                var curScreen = GetCurrentScreen();

                curScreen.Pause();
            }

            gameScreen.Add(screen);

            screen.Initialize(contentManager);
        }
コード例 #7
0
        /// <summary>
        /// Adds a <see cref="IGameScreen"/> to this manager.
        /// </summary>
        /// <param name="screen">The <see cref="IGameScreen"/> to add.</param>
        /// <exception cref="ArgumentNullException"><paramref name="screen"/> is null.</exception>
        /// <exception cref="ArgumentException"><paramref name="screen"/>'s <see cref="IScreenManager"/> is not
        /// equal to this <see cref="IScreenManager"/>.</exception>
        public void Add(IGameScreen screen)
        {
            if (screen == null)
            {
                throw new ArgumentNullException("screen");
            }
            if (screen.ScreenManager != this)
            {
                throw new ArgumentException("The screen's ScreenManager must be set to this ScreenManager.", "screen");
            }

            _screens.Add(screen.Name, screen);

            screen.Initialize();
            screen.LoadContent();
        }
コード例 #8
0
 /// <summary>
 /// Initilize all necesary data for the new screen
 /// That includes removing all game objects and initizeing the new screen
 /// </summary>
 /// <param name="value"></param>
 private void NewScreenActivated(IGameScreen value)
 {
     activeScreen = value;
     activeScreen.ScreenManager = this;
     activeScreen.Initialize();
 }
コード例 #9
0
ファイル: ScreenManager.cs プロジェクト: lunacys/lunge
        public override void Initialize()
        {
            base.Initialize();

            _activeScreen?.Initialize();
        }