Example #1
0
 private void OnGameSpeedChanging(GameSpeed newGameSpeed) {
     _courseUpdateFrequency *= GameTime.Instance.GameSpeed.SpeedMultiplier() / newGameSpeed.SpeedMultiplier();
 }
 private void RefreshReadout(GameSpeed clockSpeed) {
     RefreshReadout(CommonTerms.MultiplySign + clockSpeed.SpeedMultiplier().ToString());
 }
Example #3
0
 private void OnGameSpeedChanging(GameSpeed newSpeed) { // OPTIMIZE static?
     //D.Log("{0}.OnGameSpeedChanging() called. OldSpeed = {1}, NewSpeed = {2}.", GetType().Name, GameTime.Instance.GameSpeed.GetName(), newSpeed.GetName());
     float currentSpeedMultiplier = GameTime.Instance.GameSpeed.SpeedMultiplier();
     float speedChangeRatio = newSpeed.SpeedMultiplier() / currentSpeedMultiplier;
     _hudRefreshRate *= speedChangeRatio;
 }
Example #4
0
 /// <summary>
 /// Adjusts the velocity and thrust of the fleet to reflect the new GameClockSpeed setting. 
 /// The reported speed and directional heading of the fleet is not affected.
 /// </summary>
 /// <param name="gameSpeed">The game speed.</param>
 private void AdjustForGameSpeed(GameSpeed gameSpeed) {
     float previousGameSpeedMultiplier = _gameSpeedMultiplier;   // FIXME where/when to get initial GameSpeed before first GameSpeed change?
     _gameSpeedMultiplier = gameSpeed.SpeedMultiplier();
     float gameSpeedChangeRatio = _gameSpeedMultiplier / previousGameSpeedMultiplier;
     // must immediately adjust velocity when game speed changes as just adjusting thrust takes
     // a long time to get to increased/decreased velocity
     if (_gameStatus.IsPaused) {
         _velocityOnPause = _velocityOnPause * gameSpeedChangeRatio;
     }
     else {
         _rigidbody.velocity = _rigidbody.velocity * gameSpeedChangeRatio;
         // drag should not be adjusted as it will change the velocity that can be supported by the adjusted thrust
     }
 }
Example #5
0
 private void GameSpeedPropChangingHandler(GameSpeed newGameSpeed) {
     float previousGameSpeedMultiplier = _gameTime.GameSpeedMultiplier;
     float newGameSpeedMultiplier = newGameSpeed.SpeedMultiplier();
     float gameSpeedChangeRatio = newGameSpeedMultiplier / previousGameSpeedMultiplier;
     AdjustForGameSpeed(gameSpeedChangeRatio);
 }