private void OnRecordingComplete()
        {
            SimulationGlobals.SetRunState(RunState.Stopped);
            Constants.spaceChemGame.StopVideoCapture();
            // Instead of properly showing the destination dialog, just instantiate it and pretend that
            // the Save to Desktop button was clicked on it.
            GameScreen.RemoveTopmostScreen();
            RecordingDestinationDialog destinationDialog = new RecordingDestinationDialog(currentlyCapturedVideo, score);

            destinationDialog.OnSaveToDesktopClickBackdoor();
        }
 private void SetSpeedIf(SimulatorSpeed speed, bool active)
 {
     if (active)
     {
         if (KeyboardHelper.IsControlPressed())
         {
             speed = SimulatorSpeed.SuperFastForward;
         }
         SimulationGlobals.SetSimulatorSpeed(speed);
         selectedSpeed = speed;
     }
 }
 public void DoCollisionChecks()
 {
     // We want to bypass the first "normal" check because we're forcing new ones that replace it.
     if (SimulationGlobals.partialCycle == 0 && !forced)
     {
         return;
     }
     // Don't bother with duplicate checks if the simulation is already paused because of an earlier collision.
     if (SimulationGlobals.GetRunState() == RunState.Running)
     {
         OriginalDoCollisionChecks();
     }
 }