private void UpdateStateEstimators(SimulationStepResults simulationState, GameTime gameTime, JoystickOutput output, out PhysicalHeliState estimatedState, out PhysicalHeliState blindEstimatedState, out PhysicalHeliState observedState) { var dtMillis = (long)gameTime.ElapsedGameTime.TotalMilliseconds; var totalMillis = (long)gameTime.TotalGameTime.TotalMilliseconds; // TimeSpan totalSimulationTime = gameTime.TotalGameTime; // Update sensors prior to using the state provider, // because they are typically dependent on the state of the sensors. Sensors.Update(_simulationState, output); // Update states ((SensorEstimatedState)_estimatedStateProvider).CheatingTrueState = simulationState; // TODO Temp cheating _estimatedStateProvider.Update(simulationState, dtMillis, totalMillis, output); // TODO Separate physical and navigational states _estimatedStateProvider.GetState(out estimatedState, out observedState, out blindEstimatedState); }