public override void Update(GameTime gameTime)
{
KeyboardState keyboard = Keyboard.GetState();
musicCountdown -= gameTime.ElapsedGameTime.Milliseconds;
if (musicCountdown <= 0)
{
if (keyboard.IsKeyDown(Keys.M))
{
if (trackCue.IsPaused)
trackCue.Resume();
else
trackCue.Pause();
musicCountdown = musicDelay;
}
else
musicCountdown = 0;
}
foreach (Event ev in events)
{
switch (ev.EventId)
{
case (int)MyEvent.C_ATTACK_BULLET_END: soundBank.PlayCue("shot"); break;
case (int)MyEvent.G_NextLevel: levelCompleteCue.Play(); levelCompleteRunning = true; break;
case (int)MyEvent.M_HIT: soundBank.PlayCue("monsterHit"); break;
case (int)MyEvent.M_BITE: soundBank.PlayCue("Bite"); break;
case (int)MyEvent.G_GameOver: soundBank.PlayCue("ScreamAndDie"); break;
}
}
if (levelCompleteRunning && levelCompleteCue.IsStopped)
{
levelCompleteRunning = false;
myGame.mediator.fireEvent(MyEvent.G_NextLevel_END_OF_MUSIC);
}
events.Clear();
base.Update(gameTime);
}