示例#1
0
 /// <summary>
 /// Atualiza a transição do estado.
 /// </summary>
 /// <param name="gameTime">O tempo de jogo</param>
 public virtual void Update(GameTime gameTime)
 {
     if (enteringState)
     {
         enteringState = tryEndTransition(gameTime, enteringState, true);
         if (!enteringState)
         {
             Alpha = 1f;
         }
     }
     else if (exitingState)
     {
         exitingState = tryEndTransition(gameTime, exitingState, false);
         exit         = !exitingState;
         if (exit)
         {
             Alpha = 0f;
         }
     }
     if (Transitioning)
     {
         Alpha += alphaIncrement * gameTime.ElapsedGameTime.Milliseconds;
         if (Alpha < 0)
         {
             Alpha = 0;
         }
         else if (Alpha > 1)
         {
             Alpha = 1;
         }
     }
     if (stateEntered || justEnteredState)
     {
         justEnteredState = false;
         goManager.Update(gameTime);
     }
 }