Exemplo n.º 1
0
 private void HandleRewind(GameTime gameTime)
 {
     if (!helpMenuVisible && !fileDialogVisible)
     {
         if (timeSinceLastRewindCycle > 1.0 / rewindFrequency)
         {
             timeSinceLastRewindCycle = 0;
             if (Keyboard.GetState().IsKeyDown(rewindKey))
             {
                 isRewinding = true;
                 cpu.ApplyState(RewindManager.Rewind());
             }
             else
             {
                 isRewinding = false;
                 if (!frameAdvance && !isPaused)
                 {
                     RewindManager.Record(cpu.GetState());
                 }
             }
         }
         else
         {
             timeSinceLastRewindCycle += gameTime.ElapsedGameTime.TotalSeconds;
         }
     }
 }