private void InternalUpdate(GameTimeExt gameTime, bool updatePhysicsSimulation, TimeSpan currentTickTimeElapsed, bool updateSingleCallSystems) { if (updatePhysicsSimulation) { // Update the physics time (which is in fixed time steps) PhysicsGameTime.Update(PhysicsGameTime.Total + GameClockManager.SimulationDeltaTime, GameClockManager.SimulationDeltaTime, incrementFrameCount: true); } if (GameClockManager.SimulationClock.IsEnabled) { GameClockManager.SimulationClock.CurrentTickTimeElapsed = currentTickTimeElapsed; GameClockManager.SimulationClock.TotalTime += gameTime.Elapsed; GameClockManager.SimulationClock.IsNextSimulation = updatePhysicsSimulation; if (updatePhysicsSimulation) { GameClockManager.SimulationClock.SimulationTickNumber++; //System.Diagnostics.Debug.WriteLine($"UPDATE: TICK: {_gameClockManager.SimulationTickNumber}"); } #if DEBUG //var context = Services.GetService<GameEngineContext>(); //if (context.IsClient) //{ // System.Diagnostics.Debug.WriteLine(@$">>SimTick {GameClockManager.SimulationClock.SimulationTickNumber} - SimTotalTime {GameClockManager.SimulationClock.TotalTime} - SimCurElapsed {GameClockManager.SimulationClock.CurrentTickTimeElapsed}"); //} #endif } GameSystemsUpdate(updatePhysicsSimulation, updateSingleCallSystems); }