private SkyTarget CurrentSkyTarget() { SkyTarget b = this.map.weatherManager.curWeather.Worker.CurSkyTarget(this.map); SkyTarget a = this.map.weatherManager.lastWeather.Worker.CurSkyTarget(this.map); SkyTarget skyTarget = SkyTarget.Lerp(a, b, this.map.weatherManager.TransitionLerpFactor); float num = this.map.gameConditionManager.AggregateSkyTargetLerpFactor(); if (num > 9.9999997473787516E-05) { SkyTarget value = this.map.gameConditionManager.AggregateSkyTarget().Value; skyTarget = SkyTarget.LerpDarken(skyTarget, value, num); } List <WeatherEvent> liveEventsListForReading = this.map.weatherManager.eventHandler.LiveEventsListForReading; for (int i = 0; i < liveEventsListForReading.Count; i++) { if (liveEventsListForReading[i].CurrentlyAffectsSky) { skyTarget = SkyTarget.Lerp(skyTarget, liveEventsListForReading[i].SkyTarget, liveEventsListForReading[i].SkyTargetLerpFactor); } } List <Thing> list = this.map.listerThings.ThingsInGroup(ThingRequestGroup.AffectsSky); for (int j = 0; j < list.Count; j++) { CompAffectsSky compAffectsSky = list[j].TryGetComp <CompAffectsSky>(); if (compAffectsSky.LerpFactor > 0.0) { skyTarget = ((!compAffectsSky.Props.lerpDarken) ? SkyTarget.Lerp(skyTarget, compAffectsSky.SkyTarget, compAffectsSky.LerpFactor) : SkyTarget.LerpDarken(skyTarget, compAffectsSky.SkyTarget, compAffectsSky.LerpFactor)); } } return(skyTarget); }
private SkyTarget CurrentSkyTarget() { SkyTarget b = this.map.weatherManager.curWeather.Worker.CurSkyTarget(this.map); SkyTarget a = this.map.weatherManager.lastWeather.Worker.CurSkyTarget(this.map); SkyTarget skyTarget = SkyTarget.Lerp(a, b, this.map.weatherManager.TransitionLerpFactor); this.map.gameConditionManager.GetAllGameConditionsAffectingMap(this.map, this.tempAllGameConditionsAffectingMap); for (int i = 0; i < this.tempAllGameConditionsAffectingMap.Count; i++) { SkyTarget?skyTarget2 = this.tempAllGameConditionsAffectingMap[i].SkyTarget(this.map); if (skyTarget2.HasValue) { skyTarget = SkyTarget.LerpDarken(skyTarget, skyTarget2.Value, this.tempAllGameConditionsAffectingMap[i].SkyTargetLerpFactor(this.map)); } } this.tempAllGameConditionsAffectingMap.Clear(); List <WeatherEvent> liveEventsListForReading = this.map.weatherManager.eventHandler.LiveEventsListForReading; for (int j = 0; j < liveEventsListForReading.Count; j++) { if (liveEventsListForReading[j].CurrentlyAffectsSky) { skyTarget = SkyTarget.Lerp(skyTarget, liveEventsListForReading[j].SkyTarget, liveEventsListForReading[j].SkyTargetLerpFactor); } } List <Thing> list = this.map.listerThings.ThingsInGroup(ThingRequestGroup.AffectsSky); for (int k = 0; k < list.Count; k++) { CompAffectsSky compAffectsSky = list[k].TryGetComp <CompAffectsSky>(); if (compAffectsSky.LerpFactor > 0f) { if (compAffectsSky.Props.lerpDarken) { skyTarget = SkyTarget.LerpDarken(skyTarget, compAffectsSky.SkyTarget, compAffectsSky.LerpFactor); } else { skyTarget = SkyTarget.Lerp(skyTarget, compAffectsSky.SkyTarget, compAffectsSky.LerpFactor); } } } return(skyTarget); }