public static Update ( |
||
t | ||
Résultat | void |
public static void Update(GameTime t)
{
if (timer > 0)
timer -= t.ElapsedGameTime.TotalSeconds;
if (timer < 0)
timer = 0;
switch (state)
{
case State.enterFade:
menuLayer1.Volume = (float)(1.0 - timer / FADE_TIME);
if (timer == 0)
state = State.menu1;
break;
case State.menu1:
break;
case State.menuFade:
menuLayer2.Volume = (float)(1.0 - timer / FADE_TIME);
if (timer == 0)
state = State.menu2;
break;
case State.menu2:
break;
case State.battleFade:
menuLayer1.Volume = (float)(timer / FADE_TIME);
menuLayer2.Volume = (float)(timer / FADE_TIME);
battleMusic.Volume = (float)(1.0 - timer / FADE_TIME);
if (timer == 0)
{
state = State.battle;
menuLayer1.Stop();
menuLayer2.Stop();
}
break;
case State.battle:
break;
case State.exitFade:
break;
case State.returnFade:
menuLayer1.Volume = (float)(1.0 - timer / FADE_TIME);
menuLayer2.Volume = (float)(1.0 - timer / FADE_TIME);
battleMusic.Volume = (float)(timer / FADE_TIME);
if (timer == 0)
{
state = State.menu2;
battleMusic.Stop();
}
break;
}
}
/// <summary> /// Allows the game to run logic such as updating the world, /// checking for collisions, gathering input, and playing audio. /// </summary> /// <param name="gameTime">Provides a snapshot of timing values.</param> protected override void Update(GameTime gameTime) { if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed || Keyboard.GetState().IsKeyDown(Keys.Escape) || !running) { Exit(); } currState.Update(gameTime); AudioManager.Update(gameTime); // Handle GameState transitions GameState newState = currState.GetTransition(); if (newState != null) { //Set map if (newState == game) { ((StateGame)game).setMaps(((StateLevelSelect)levelMenu).getSelectedMap()); } if (newState == winScreen) { ((StateWin)winScreen).setMap(((StateLevelSelect)levelMenu).getSelectedMap().getName() + "/victory"); ((StateWin)winScreen).setPlayers(((StateGame)game).players); } //State unload/load currState.UnloadContent(); currState = newState; currState.Initialize(); currState.LoadContent(Content); } base.Update(gameTime); }