public override void Update(FSO.Common.Rendering.Framework.Model.UpdateState state)
{
GameFacade.Game.IsFixedTimeStep = (vm == null || vm.Ready);
base.Update(state);
if (CityRenderer != null)
{
if (ZoomLevel > 3 && CityRenderer.m_Zoomed != (ZoomLevel == 4))
{
ZoomLevel = (CityRenderer.m_Zoomed) ? 4 : 5;
}
if (InLot) //if we're in a lot, use the VM's more accurate time!
{
CityRenderer.SetTimeOfDay((vm.Context.Clock.Hours / 24.0) + (vm.Context.Clock.Minutes / 1440.0) + (vm.Context.Clock.Seconds / 86400.0));
}
}
lock (StateChanges)
{
while (StateChanges.Count > 0)
{
var e = StateChanges.Dequeue();
ClientStateChangeProcess(e.State, e.Progress);
}
}
if (vm != null)
{
vm.Update();
}
}