Example #1
0
 /// <summary>
 /// Exits and unloads
 /// </summary>
 internal void Exit(Action then)
 {
     _then       = then;
     this._state = GameStageState.TransitionOff;
     //this.OutTransition = this.OutTransition ?? ImmediateTransition.Out();
     //this.OutTransition.Start(() =>
     //{
     //    this._state = GameStageState.Hidden;
     //    this.UnloadContent();
     //});
 }
Example #2
0
 /// <summary>
 /// Performs initial load.
 /// </summary>
 internal void Load(object param)
 {
     this.Param = param;
     this.LoadContent();
     this.Initialize();
     this._state = GameStageState.TransitionOn;
     this.fader  = new Texture2D(SpriteBatch.GraphicsDevice, 1, 1);
     Color[] texData = new Color[1];
     texData[0] = Color.Black;
     this.fader.SetData <Color>(texData);
     //this.InTransition = this.InTransition ?? ImmediateTransition.In();
     //this.InTransition.Start(() =>
     //{
     //    this._state = GameStageState.Active;
     //});
 }
Example #3
0
        /// <summary>
        /// Update GmeObjects.
        /// </summary>
        /// <param name="gameTime"></param>
        internal void Update(IGameTime gameTime)
        {
            if (_first)
            {
                _first = false;
                return;
            }

            PreUpdate();
            switch (_state)
            {
            case GameStageState.Active:

                DoToAllGameObjects(go => go.Update(gameTime));
                UpdatePhysics(gameTime);
                break;

            case GameStageState.TransitionOn:
                if (alpha > 0 && !SkipFade)
                {
                    alpha -= 2;
                    alpha  = MathHelper.Clamp(alpha, 0, 255);
                }
                else
                {
                    _state = GameStageState.Active;
                }

                //this.InTransition.Update(gameTime);
                break;

            case GameStageState.TransitionOff:
                if (alpha < 255 && !SkipFade)
                {
                    alpha += 2;
                    alpha  = MathHelper.Clamp(alpha, 0, 255);
                }
                else
                {
                    _then.Invoke();
                    _state = GameStageState.Hidden;
                }
                //this.OutTransition.Update(gameTime);
                break;
            }
        }