private float CalcChanceToGetWorm() { float num = this.m_WormChance; if (this.m_RestingPlace) { return(0f); } if (RainManager.Get().m_RainCone.activeSelf&& !this.m_Shelter) { num *= this.m_RainWormChanceFactor; } foreach (Firecamp firecamp in this.m_Firecamps) { if (firecamp.m_Burning) { float num2 = 1f; if (this.m_FireWormChanceFactor.TryGetValue((int)firecamp.m_Info.m_ID, out num2)) { num *= num2; } } } return(num); }
public static void SetupObjects() { SaveGame.m_Objects.Clear(); SaveGame.m_Objects.Add(MainLevel.Instance); SaveGame.m_Objects.Add(Scenario.Get()); SaveGame.m_Objects.Add(AIManager.Get()); SaveGame.m_Objects.Add(TriggersManager.Get()); SaveGame.m_Objects.Add(ItemsManager.Get()); SaveGame.m_Objects.Add(SensorManager.Get()); SaveGame.m_Objects.Add(ConstructionGhostManager.Get()); SaveGame.m_Objects.Add(StaticObjectsManager.Get()); SaveGame.m_Objects.Add(Player.Get()); SaveGame.m_Objects.Add(PlayerConditionModule.Get()); SaveGame.m_Objects.Add(PlayerInjuryModule.Get()); SaveGame.m_Objects.Add(PlayerDiseasesModule.Get()); SaveGame.m_Objects.Add(StatsManager.Get()); SaveGame.m_Objects.Add(HintsManager.Get()); SaveGame.m_Objects.Add(ObjectivesManager.Get()); SaveGame.m_Objects.Add(HUDObjectives.Get()); SaveGame.m_Objects.Add(MenuNotepad.Get()); SaveGame.m_Objects.Add(MapTab.Get()); SaveGame.m_Objects.Add(Music.Get()); SaveGame.m_Objects.Add(RainManager.Get()); SaveGame.m_Objects.Add(BalanceSystem.Get()); }
public static void SetupObjects() { SaveGame.m_Objects.Clear(); SaveGame.m_Objects.Add(DifficultySettings.Get()); SaveGame.m_Objects.Add(DialogsManager.Get()); SaveGame.m_Objects.Add(AIManager.Get()); SaveGame.m_Objects.Add(EnemyAISpawnManager.Get()); SaveGame.m_Objects.Add(TriggersManager.Get()); SaveGame.m_Objects.Add(ItemsManager.Get()); SaveGame.m_Objects.Add(SensorManager.Get()); SaveGame.m_Objects.Add(ConstructionGhostManager.Get()); SaveGame.m_Objects.Add(StaticObjectsManager.Get()); SaveGame.m_Objects.Add(Player.Get()); SaveGame.m_Objects.Add(PlayerConditionModule.Get()); SaveGame.m_Objects.Add(PlayerInjuryModule.Get()); SaveGame.m_Objects.Add(PlayerDiseasesModule.Get()); SaveGame.m_Objects.Add(StatsManager.Get()); SaveGame.m_Objects.Add(HintsManager.Get()); SaveGame.m_Objects.Add(ObjectivesManager.Get()); SaveGame.m_Objects.Add(StoryObjectivesManager.Get()); SaveGame.m_Objects.Add(HUDObjectives.Get()); SaveGame.m_Objects.Add(MenuNotepad.Get()); SaveGame.m_Objects.Add(MapTab.Get()); SaveGame.m_Objects.Add(Music.Get()); SaveGame.m_Objects.Add(RainManager.Get()); SaveGame.m_Objects.Add(SleepController.Get()); SaveGame.m_Objects.Add(MainLevel.Instance); SaveGame.m_Objects.Add(ScenarioManager.Get()); SaveGame.m_Objects.Add(InventoryBackpack.Get()); SaveGame.m_Objects.Add(ReplicatedSessionState.Get()); }
private void UpdateWaterFromRain(float delta_time) { if (this.m_Amount < this.m_Capacity && RainManager.Get().IsRain() && !RainManager.Get().IsInRainCutter(base.transform.position)) { this.m_Amount += delta_time * 1.6f; this.m_Amount = Mathf.Clamp(this.m_Amount, 0f, this.m_Capacity); } }
private void Update() { if (this.m_RequestRegister && RainManager.Get()) { RainManager.Get().RegisterRainCutter(this); this.m_RequestRegister = false; } }
private float CalcChanceToGetWorm() { float num = this.m_WormChance; if (RainManager.Get().m_RainCone.activeSelf) { num *= this.m_RainWormChanceFactor; } return(num); }
private void CheckRain() { if (!this.m_Burning) { return; } if (RainManager.Get().IsRain() && Time.time - this.m_StartBurningTime > 1f && !RainManager.Get().IsInRainCutter(base.transform.position)) { this.Extinguish(); } }
private void OnEnable() { if (RainManager.Get()) { RainManager.Get().RegisterRainCutter(this); } else { this.m_RequestRegister = true; } }
private void UpdateWaterFromRain(float delta_time) { if (this.m_CollectorData.m_Amount < this.m_CollectorData.m_Capacity && RainManager.Get().IsRain() && !RainManager.Get().IsInRainCutter(this.m_CollectorWaterVis.transform.position)) { if (this.m_CollectorData.m_Amount < 1f) { this.m_CollectorLiquidType = LiquidType.Water; } this.m_CollectorData.m_Amount += delta_time; this.m_CollectorData.m_Amount = Mathf.Clamp(this.m_CollectorData.m_Amount, 0f, this.m_CollectorData.m_Capacity); } }
private void UpdateParams() { for (int i = 0; i < this.m_Params.Count; i++) { int hash = this.m_Params[i].m_Hash; if (hash == MSMultiSample.s_DayTimeVolHash) { float value = MainLevel.Instance.m_TODSky.Cycle.Hour / 24f; this.m_ParamsMap[hash] = value; } else if (hash == MSMultiSample.s_WaterVolHash) { float value2 = Player.Get().IsCameraUnderwater() ? 1f : 0f; this.m_ParamsMap[hash] = value2; } else if (hash == MSMultiSample.s_RainVolHash) { float value3 = RainManager.Get().m_WeatherInterpolated *MainLevel.Instance.m_RainVolume; this.m_ParamsMap[hash] = value3; } else if (hash == MSMultiSample.s_RainTentVolHash) { float num = (RainManager.Get().IsInRainCutterTent(Player.Get().GetLEyeTransform().position) && RainManager.Get().m_WeatherInterpolated > 0.9f) ? 1f : 0f; float num2 = 0f; if (!this.m_ParamsMap.TryGetValue(hash, out num2)) { this.m_ParamsMap[hash] = 0f; } else { Dictionary <int, float> paramsMap = this.m_ParamsMap; int key = hash; paramsMap[key] += (num - this.m_ParamsMap[hash]) * Time.deltaTime; this.m_ParamsMap[hash] = Mathf.Clamp01(this.m_ParamsMap[hash]); } } else if (hash == MSMultiSample.s_WindVolHash) { float wind = RainManager.Get().m_Wind; this.m_ParamsMap[hash] = wind; } else if (hash == MSMultiSample.s_WindPitchHash) { float wind2 = RainManager.Get().m_Wind; this.m_ParamsMap[hash] = wind2; } else if (hash == MSMultiSample.s_AreaDensityVolHash) { float areaDensity = RainManager.Get().m_AreaDensity; this.m_ParamsMap[hash] = areaDensity; } } }
protected override void Update() { base.Update(); this.UpdateParticle(); this.UpdateState(); this.UpdateSounds(); if (!this.ReplIsOwner()) { return; } if (base.IsInWater() && !base.m_InInventory) { WaterCollider waterCollider = this.m_CurrentWaters[this.m_CurrentWaters.Count - 1]; this.m_LCInfo.m_LiquidType = (waterCollider.m_LiquidSource ? waterCollider.m_LiquidSource.m_LiquidType : LiquidType.UnsafeWater); this.m_LCInfo.m_Amount = this.m_LCInfo.m_Capacity; return; } if (this.m_LCInfo.m_Amount < this.m_LCInfo.m_Capacity && !base.transform.parent && base.transform.up.y > 0.45f && RainManager.Get().IsRain() && !RainManager.Get().IsInRainCutter(base.transform.position)) { bool flag = true; if (Inventory3DManager.Get().m_CarriedItem == this && RainManager.Get().IsInRainCutter(Player.Get().transform.position)) { flag = false; } if (flag) { if (this.m_LCInfo.m_LiquidType != LiquidType.Water && this.m_LCInfo.m_Amount == 0f) { this.m_LCInfo.m_LiquidType = LiquidType.Water; } if (this.m_LCInfo.m_LiquidType == LiquidType.Water) { float num = Time.deltaTime; if (SleepController.Get().IsActive() && !SleepController.Get().IsWakingUp()) { num = Player.GetSleepTimeFactor(); } this.m_LCInfo.m_Amount += num * 0.2f; this.m_LCInfo.m_Amount = Mathf.Clamp(this.m_LCInfo.m_Amount, 0f, this.m_LCInfo.m_Capacity); } } } }
protected override void Update() { base.Update(); if (RainManager.Get().IsRain()) { base.transform.position = base.transform.position + Vector3.up * this.m_Speed * Time.deltaTime; if (base.transform.position.y > this.m_RainPos.y) { base.transform.position = this.m_RainPos; } } else { base.transform.position = base.transform.position - Vector3.up * this.m_Speed * Time.deltaTime; if (base.transform.position.y < this.m_OrigPos.y) { base.transform.position = this.m_OrigPos; } } }
public void CheckRain() { if (!this.m_Burning) { this.m_RainDuration = 0f; return; } if (RainManager.Get().IsRain() && !RainManager.Get().IsInRainCutter(base.transform.position)) { this.m_RainDuration += Time.deltaTime; if (this.m_RainDuration >= this.m_MinRainDurationToExtinguish) { this.Extinguish(); } } else { this.m_RainDuration = 0f; } }
private void UpdateParams() { for (int i = 0; i < this.m_Params.Count; i++) { int hash = this.m_Params[i].m_Hash; if (hash == MSMultiSample.s_DayTimeVolHash) { float value = MainLevel.Instance.m_TODSky.Cycle.Hour / 24f; this.m_ParamsMap[hash] = value; } else if (hash == MSMultiSample.s_WaterVolHash) { float value2 = (!SwimController.Get().IsActive() || SwimController.Get().m_State != SwimState.Dive) ? 0f : 1f; this.m_ParamsMap[hash] = value2; } else if (hash == MSMultiSample.s_RainVolHash) { float weatherInterpolated = RainManager.Get().m_WeatherInterpolated; this.m_ParamsMap[hash] = weatherInterpolated; } else if (hash == MSMultiSample.s_WindVolHash) { float wind = RainManager.Get().m_Wind; this.m_ParamsMap[hash] = wind; } else if (hash == MSMultiSample.s_WindPitchHash) { float wind2 = RainManager.Get().m_Wind; this.m_ParamsMap[hash] = wind2; } else if (hash == MSMultiSample.s_AreaDensityVolHash) { float areaDensity = RainManager.Get().m_AreaDensity; this.m_ParamsMap[hash] = areaDensity; } } }
protected override void Start() { base.Start(); RainManager.Get().Register(this); }
private void UpdateCelestials() { float f = 0.0174532924f * this.World.Latitude; float num = Mathf.Sin(f); float num2 = Mathf.Cos(f); float longitude = this.World.Longitude; float num3 = 1.57079637f; int year = this.Cycle.Year; int month = this.Cycle.Month; int day = this.Cycle.Day; float num4 = this.Cycle.Hour - this.World.UTC; float num5 = (float)(367 * year - 7 * (year + (month + 9) / 12) / 4 + 275 * month / 9 + day - 730530) + num4 / 24f; float num6 = (float)(367 * year - 7 * (year + (month + 9) / 12) / 4 + 275 * month / 9 + day - 730530) + 0.5f; float num7 = 23.4393f - 3.563E-07f * num5; float f2 = 0.0174532924f * num7; float num8 = Mathf.Sin(f2); float num9 = Mathf.Cos(f2); float num10 = 282.9404f + 4.70935E-05f * num6; float num11 = 0.016709f - 1.151E-09f * num6; float num12 = 356.047f + 0.985600233f * num6; float num13 = 0.0174532924f * num12; float num14 = Mathf.Sin(num13); float num15 = Mathf.Cos(num13); float f3 = num13 + num11 * num14 * (1f + num11 * num15); float num16 = Mathf.Sin(f3); float num17 = Mathf.Cos(f3) - num11; float num18 = Mathf.Sqrt(1f - num11 * num11) * num16; float num19 = 57.29578f * Mathf.Atan2(num18, num17); float num20 = Mathf.Sqrt(num17 * num17 + num18 * num18); float num21 = num19 + num10; float f4 = 0.0174532924f * num21; float num22 = Mathf.Sin(f4); float num23 = Mathf.Cos(f4); float num24 = num20 * num23; float num25 = num20 * num22; float num26 = num24; float num27 = num25 * num9; float y = num25 * num8; float num28 = Mathf.Atan2(num27, num26); float num29 = 57.29578f * num28; float f5 = Mathf.Atan2(y, Mathf.Sqrt(num26 * num26 + num27 * num27)); float num30 = Mathf.Sin(f5); float num31 = Mathf.Cos(f5); float num32 = num19 + num10 + 180f; float num33 = num29 - num32 - longitude; float num34 = -6f; float num35 = Mathf.Acos((Mathf.Sin(0.0174532924f * num34) - num * num30) / (num2 * num31)); float num36 = 57.29578f * num35; this.SunsetTime = (24f + (num33 + num36) / 15f % 24f) % 24f; this.SunriseTime = (24f + (num33 - num36) / 15f % 24f) % 24f; float num37 = 282.9404f + 4.70935E-05f * num5; float num38 = 0.016709f - 1.151E-09f * num5; float num39 = 356.047f + 0.985600233f * num5; float num40 = 0.0174532924f * num39; float num41 = Mathf.Sin(num40); float num42 = Mathf.Cos(num40); float f6 = num40 + num38 * num41 * (1f + num38 * num42); float num43 = Mathf.Sin(f6); float num44 = Mathf.Cos(f6) - num38; float num45 = Mathf.Sqrt(1f - num38 * num38) * num43; float num46 = 57.29578f * Mathf.Atan2(num45, num44); float num47 = Mathf.Sqrt(num44 * num44 + num45 * num45); float num48 = num46 + num37; float f7 = 0.0174532924f * num48; float num49 = Mathf.Sin(f7); float num50 = Mathf.Cos(f7); float num51 = num47 * num50; float num52 = num47 * num49; float num53 = num51; float num54 = num52 * num9; float y2 = num52 * num8; float num55 = Mathf.Atan2(num54, num53); float f8 = Mathf.Atan2(y2, Mathf.Sqrt(num53 * num53 + num54 * num54)); float num56 = Mathf.Sin(f8); float num57 = Mathf.Cos(f8); float num58 = num46 + num37 + 180f + 15f * num4; float num59 = 0.0174532924f * (num58 + longitude); this.LocalSiderealTime = (num58 + longitude) / 15f; float f9 = num59 - num55; float num60 = Mathf.Sin(f9); float num61 = Mathf.Cos(f9) * num57; float num62 = num60 * num57; float num63 = num56; float num64 = num61 * num - num63 * num2; float num65 = num62; float y3 = num61 * num2 + num63 * num; float num66 = Mathf.Atan2(num65, num64) + 3.14159274f; float num67 = Mathf.Atan2(y3, Mathf.Sqrt(num64 * num64 + num65 * num65)); float num68 = num3 - num67; float num69 = num67; float num70 = num66; this.SunZenith = 57.29578f * num68; this.SunAltitude = 57.29578f * num69; this.SunAzimuth = 57.29578f * num70; float num112; float num113; float num114; if (this.Moon.Position == TOD_MoonPositionType.Realistic) { float num71 = 125.1228f - 0.05295381f * num5; float num72 = 5.1454f; float num73 = 318.0634f + 0.164357319f * num5; float num74 = 60.2666f; float num75 = 0.0549f; float num76 = 115.3654f + 13.0649929f * num5; float f10 = 0.0174532924f * num71; float num77 = Mathf.Sin(f10); float num78 = Mathf.Cos(f10); float f11 = 0.0174532924f * num72; float num79 = Mathf.Sin(f11); float num80 = Mathf.Cos(f11); float num81 = 0.0174532924f * num76; float num82 = Mathf.Sin(num81); float num83 = Mathf.Cos(num81); float f12 = num81 + num75 * num82 * (1f + num75 * num83); float num84 = Mathf.Sin(f12); float num85 = Mathf.Cos(f12); float num86 = num74 * (num85 - num75); float num87 = num74 * (Mathf.Sqrt(1f - num75 * num75) * num84); float num88 = 57.29578f * Mathf.Atan2(num87, num86); float num89 = Mathf.Sqrt(num86 * num86 + num87 * num87); float num90 = num88 + num73; float f13 = 0.0174532924f * num90; float num91 = Mathf.Sin(f13); float num92 = Mathf.Cos(f13); float num93 = num89 * (num78 * num92 - num77 * num91 * num80); float num94 = num89 * (num77 * num92 + num78 * num91 * num80); float num95 = num89 * (num91 * num79); float num96 = num93; float num97 = num94; float num98 = num95; float num99 = num96; float num100 = num97 * num9 - num98 * num8; float y4 = num97 * num8 + num98 * num9; float num101 = Mathf.Atan2(num100, num99); float f14 = Mathf.Atan2(y4, Mathf.Sqrt(num99 * num99 + num100 * num100)); float num102 = Mathf.Sin(f14); float num103 = Mathf.Cos(f14); float f15 = num59 - num101; float num104 = Mathf.Sin(f15); float num105 = Mathf.Cos(f15) * num103; float num106 = num104 * num103; float num107 = num102; float num108 = num105 * num - num107 * num2; float num109 = num106; float y5 = num105 * num2 + num107 * num; float num110 = Mathf.Atan2(num109, num108) + 3.14159274f; float num111 = Mathf.Atan2(y5, Mathf.Sqrt(num108 * num108 + num109 * num109)); num112 = num3 - num111; num113 = num111; num114 = num110; } else { num112 = num68 - 3.14159274f; num113 = num69 - 3.14159274f; num114 = num70; } this.MoonZenith = 57.29578f * num112; this.MoonAltitude = 57.29578f * num113; this.MoonAzimuth = 57.29578f * num114; Quaternion quaternion = Quaternion.Euler(90f - this.World.Latitude, 0f, 0f) * Quaternion.Euler(0f, this.World.Longitude, 0f) * Quaternion.Euler(0f, num59 * 57.29578f, 0f); if (this.Stars.Position == TOD_StarsPositionType.Rotating) { this.Components.SpaceTransform.localRotation = quaternion; this.Components.StarTransform.localRotation = quaternion; } else { this.Components.SpaceTransform.localRotation = Quaternion.identity; this.Components.StarTransform.localRotation = Quaternion.identity; } Vector3 localPosition = this.OrbitalToLocal(num68, num70); this.Components.SunTransform.localPosition = localPosition; this.Components.SunTransform.LookAt(this.Components.DomeTransform.position, this.Components.SunTransform.up); Vector3 localPosition2 = this.OrbitalToLocal(num112, num114); Vector3 worldUp = quaternion * -Vector3.right; this.Components.MoonTransform.localPosition = localPosition2; this.Components.MoonTransform.LookAt(this.Components.DomeTransform.position, worldUp); float num115 = 8f * Mathf.Tan(0.008726646f * this.Sun.MeshSize); Vector3 localScale = new Vector3(num115, num115, num115); this.Components.SunTransform.localScale = localScale; float num116 = 4f * Mathf.Tan(0.008726646f * this.Moon.MeshSize); Vector3 localScale2 = new Vector3(num116, num116, num116); this.Components.MoonTransform.localScale = localScale2; if (RainManager.Get() != null && MainLevel.Instance.m_TODAtmosphereAndCloudsUpdateEnabled) { float a = (this.Cycle.Hour > 19f || this.Cycle.Hour < 7f) ? 0f : 0.5f; this.Atmosphere.Fogginess = CJTools.Math.GetProportionalClamp(0f, a, RainManager.Get().m_WeatherInterpolated, 0f, 1f); this.Clouds.Coverage = CJTools.Math.GetProportionalClamp(this.m_DefaultCloudsCoverage, 0.8f, RainManager.Get().m_WeatherInterpolated, 0f, 1f); this.Clouds.Opacity = CJTools.Math.GetProportionalClamp(this.m_DefaultCloudsOpacity, 0.8f, RainManager.Get().m_WeatherInterpolated, 0f, 1f); } bool enabled = (1f - this.Atmosphere.Fogginess) * (1f - this.LerpValue) > 0f; this.Components.SpaceRenderer.enabled = enabled; this.Components.StarRenderer.enabled = enabled; bool enabled2 = this.Components.SunTransform.localPosition.y > -num115; this.Components.SunRenderer.enabled = enabled2; bool enabled3 = this.Components.MoonTransform.localPosition.y > -num116; this.Components.MoonRenderer.enabled = enabled3; bool enabled4 = true; this.Components.AtmosphereRenderer.enabled = enabled4; bool enabled5 = this.Components.Rays != null; this.Components.ClearRenderer.enabled = enabled5; bool enabled6 = this.Clouds.Coverage > 0f && this.Clouds.Opacity > 0f; this.Components.CloudRenderer.enabled = enabled6; this.LerpValue = Mathf.InverseLerp(105f, 90f, this.SunZenith); float time = Mathf.Clamp01(this.SunZenith / 90f); float time2 = Mathf.Clamp01((this.SunZenith - 90f) / 90f); float num117 = Mathf.Clamp01((this.LerpValue - 0.1f) / 0.9f); float num118 = Mathf.Clamp01((0.1f - this.LerpValue) / 0.1f); float num119 = Mathf.Clamp01((90f - num112 * 57.29578f) / 5f); this.SunVisibility = (1f - this.Atmosphere.Fogginess) * num117; this.MoonVisibility = (1f - this.Atmosphere.Fogginess) * num118 * num119; this.SunLightColor = TOD_Util.ApplyAlpha(this.Day.LightColor.Evaluate(time)); this.MoonLightColor = TOD_Util.ApplyAlpha(this.Night.LightColor.Evaluate(time2)); this.SunRayColor = TOD_Util.ApplyAlpha(this.Day.RayColor.Evaluate(time)); this.MoonRayColor = TOD_Util.ApplyAlpha(this.Night.RayColor.Evaluate(time2)); this.SunSkyColor = TOD_Util.ApplyAlpha(this.Day.SkyColor.Evaluate(time)); this.MoonSkyColor = TOD_Util.ApplyAlpha(this.Night.SkyColor.Evaluate(time2)); this.SunMeshColor = TOD_Util.ApplyAlpha(this.Day.SunColor.Evaluate(time)); this.MoonMeshColor = TOD_Util.ApplyAlpha(this.Night.MoonColor.Evaluate(time2)); this.SunCloudColor = TOD_Util.ApplyAlpha(this.Day.CloudColor.Evaluate(time)); this.MoonCloudColor = TOD_Util.ApplyAlpha(this.Night.CloudColor.Evaluate(time2)); Color b = TOD_Util.ApplyAlpha(this.Day.FogColor.Evaluate(time)); Color a2 = TOD_Util.ApplyAlpha(this.Night.FogColor.Evaluate(time2)); this.FogColor = Color.Lerp(a2, b, this.LerpValue); Color color = TOD_Util.ApplyAlpha(this.Day.AmbientColor.Evaluate(time)); Color color2 = TOD_Util.ApplyAlpha(this.Night.AmbientColor.Evaluate(time2)); if (CaveSensor.s_NumSensorsInside != 0) { this.AmbientColor += (Color.black - this.AmbientColor) * Time.deltaTime; if (this.AmbientColor != Color.black) { this.Ambient.UpdateInterval = 0f; } else { this.Ambient.UpdateInterval = 1f; } } else { Color color3 = Color.Lerp(color2, color, this.LerpValue); this.AmbientColor += (color3 - this.AmbientColor) * Time.deltaTime; if (this.AmbientColor != color3) { this.Ambient.UpdateInterval = 0f; } else { this.Ambient.UpdateInterval = 1f; } } Color b2 = color; Color a3 = color2; this.GroundColor = Color.Lerp(a3, b2, this.LerpValue); this.MoonHaloColor = TOD_Util.MulRGB(this.MoonSkyColor, this.Moon.HaloBrightness * num119); float shadowStrength; float intensity; Color color4; if (this.LerpValue > 0.1f) { this.IsDay = true; this.IsNight = false; shadowStrength = this.Day.ShadowStrength; intensity = Mathf.Lerp(0f, this.Day.LightIntensity * this.Day.m_SanityLightIntensityMul, this.SunVisibility); color4 = this.SunLightColor; } else { this.IsDay = false; this.IsNight = true; shadowStrength = this.Night.ShadowStrength; intensity = Mathf.Lerp(0f, this.Night.LightIntensity * this.Night.m_SanityLightIntensityMul, this.MoonVisibility); color4 = this.MoonLightColor; } this.Components.LightSource.color = color4; this.Components.LightSource.intensity = intensity; this.Components.LightSource.shadowStrength = shadowStrength; if (!Application.isPlaying || this.timeSinceLightUpdate >= this.Light.UpdateInterval) { this.timeSinceLightUpdate = 0f; Vector3 localPosition3 = this.IsNight ? this.OrbitalToLocal(Mathf.Min(num112, (1f - this.Light.MinimumHeight) * 3.14159274f / 2f), num114) : this.OrbitalToLocal(Mathf.Min(num68, (1f - this.Light.MinimumHeight) * 3.14159274f / 2f), num70); this.Components.LightTransform.localPosition = localPosition3; this.Components.LightTransform.LookAt(this.Components.DomeTransform.position); } else { this.timeSinceLightUpdate += Time.deltaTime; } this.SunDirection = -this.Components.SunTransform.forward; this.LocalSunDirection = this.Components.DomeTransform.InverseTransformDirection(this.SunDirection); this.MoonDirection = -this.Components.MoonTransform.forward; this.LocalMoonDirection = this.Components.DomeTransform.InverseTransformDirection(this.MoonDirection); this.LightDirection = -this.Components.LightTransform.forward; this.LocalLightDirection = this.Components.DomeTransform.InverseTransformDirection(this.LightDirection); }
protected override void Update() { base.Update(); this.UpdateParticle(); this.UpdateState(); this.UpdateSounds(); if (this.m_LCInfo.m_Amount < this.m_LCInfo.m_Capacity && !base.transform.parent && base.transform.up.y > 0.45f && RainManager.Get().IsRain()) { if (this.m_LCInfo.m_LiquidType != LiquidType.Water && this.m_LCInfo.m_Amount == 0f) { this.m_LCInfo.m_LiquidType = LiquidType.Water; } if (this.m_LCInfo.m_LiquidType == LiquidType.Water) { this.m_LCInfo.m_Amount += Time.deltaTime * 0.2f; this.m_LCInfo.m_Amount = Mathf.Clamp(this.m_LCInfo.m_Amount, 0f, this.m_LCInfo.m_Capacity); } } }
private void UpdateFog() { if (FogSensor.s_NumEnters > 0) { RenderSettings.fogStartDistance += (FogSensor.s_FogDensityStart - RenderSettings.fogStartDistance) * Time.deltaTime; RenderSettings.fogEndDistance += (FogSensor.s_FogDensityEnd - RenderSettings.fogEndDistance) * Time.deltaTime; } else { float proportionalClamp = CJTools.Math.GetProportionalClamp(this.m_FogStartDistance, 10f, RainManager.Get().m_WeatherInterpolated, 0f, 1f); RenderSettings.fogStartDistance += (proportionalClamp - RenderSettings.fogStartDistance) * Time.deltaTime; proportionalClamp = CJTools.Math.GetProportionalClamp(this.m_FogEndDistance, 150f, RainManager.Get().m_WeatherInterpolated, 0f, 1f); RenderSettings.fogEndDistance += (proportionalClamp - RenderSettings.fogEndDistance) * Time.deltaTime; } }
protected override void OnDestroy() { base.OnDestroy(); RainManager.Get().UnRegister(this); }
public void UpdateProcessing() { foreach (ItemSlot itemSlot in this.m_ActiveSlots) { Food food = (Food)itemSlot.m_Item; if (this.m_Firecamp) { if (!this.m_Firecamp.m_Burning) { if (food.m_ProcessDuration > 0f) { food.m_ProcessDuration -= MainLevel.Instance.m_TODSky.Cycle.GameTimeDelta; } else { food.m_ProcessDuration = 0f; } if (!itemSlot.gameObject.activeSelf) { itemSlot.gameObject.SetActive(true); } if (!itemSlot.m_Item.enabled) { itemSlot.m_Item.enabled = true; } continue; } } else if (this.m_Type != FoodProcessor.Type.Dryer && (!this.m_ConnectedFirecamp || !this.m_ConnectedFirecamp.m_Burning)) { if (food.m_ProcessDuration > 0f) { food.m_ProcessDuration -= MainLevel.Instance.m_TODSky.Cycle.GameTimeDelta; } else { food.m_ProcessDuration = 0f; } if (!itemSlot.gameObject.activeSelf) { itemSlot.gameObject.SetActive(true); } if (!itemSlot.m_Item.enabled) { itemSlot.m_Item.enabled = true; } continue; } if (this.m_Type == FoodProcessor.Type.Dryer) { if (!RainManager.Get().IsRain()) { food.m_ProcessDuration += MainLevel.Instance.m_TODSky.Cycle.GameTimeDelta; } else if (food.m_ProcessDuration > 0f) { food.m_ProcessDuration -= MainLevel.Instance.m_TODSky.Cycle.GameTimeDelta; } else { food.m_ProcessDuration = 0f; } } else { food.m_ProcessDuration += MainLevel.Instance.m_TODSky.Cycle.GameTimeDelta; } FoodInfo foodInfo = (FoodInfo)itemSlot.m_Item.m_Info; if (itemSlot.m_Item.enabled) { if (this.m_Type != FoodProcessor.Type.Dryer) { itemSlot.m_Item.enabled = !foodInfo.m_CanCook; } else { itemSlot.m_Item.enabled = !foodInfo.m_CanDry; } } if (food.m_ProcessDuration >= this.GetProcessingTime(foodInfo) || this.m_DebugImmediate) { HUDProcess.Get().UnregisterProcess(itemSlot.m_Item); Item item = this.m_ItemsManager.CreateItem(this.GetResultItemID(foodInfo), true, itemSlot.m_Item.transform.position, itemSlot.m_Item.transform.rotation); itemSlot.ReplaceItem(item); if (!this.m_ProcessedSlots.Contains(itemSlot)) { this.m_ProcessedSlots.Add(itemSlot); } this.m_DebugImmediate = false; if (this.m_Type == FoodProcessor.Type.Fire && !foodInfo.m_CanCook) { food.m_Burned = true; } break; } } }
private void OnDisable() { RainManager.Get().UnregisterRainCutter(this); this.m_RequestRegister = false; }
public void CheckLeeches() { if (GreenHellGame.ROADSHOW_DEMO) { return; } if (PlayerConditionModule.Get().GetParameterLossBlocked() || Time.time - MainLevel.Instance.m_LevelStartTime < 20f) { return; } if (!DifficultySettings.ActivePreset.m_Leeches) { return; } if (!this.m_LeechNextTimeInitialized) { this.m_LeechNextTime2 = Injury.s_LeechCooldownInMinutes + MainLevel.Instance.GetCurrentTimeMinutes(); this.m_LeechNextTimeInitialized = true; } if (MainLevel.Instance.GetCurrentTimeMinutes() < this.m_LeechNextTime2) { return; } InjuryType injuryType; if (this.m_Player.IsInWater()) { if (this.m_LeechChanceInsideWater < UnityEngine.Random.Range(0f, 1f)) { return; } injuryType = InjuryType.Leech; } else { if (this.m_LeechChanceOutsideOfWater < UnityEngine.Random.Range(0f, 1f)) { return; } injuryType = InjuryType.Leech; } InjuryPlace place; if (this.m_Player.IsInWater() && !SwimController.Get().IsActive()) { place = (InjuryPlace)UnityEngine.Random.Range(2, 4); } else { place = (InjuryPlace)UnityEngine.Random.Range(0, 4); } int num = UnityEngine.Random.Range(1, 4); if (RainManager.Get().m_WeatherInterpolated >= 1f) { num = UnityEngine.Random.Range(3, 6); } for (int i = 0; i < num; i++) { BIWoundSlot freeWoundSlot = this.m_BodyInspectionController.GetFreeWoundSlot(place, injuryType, true); if (freeWoundSlot == null) { return; } this.AddInjury(injuryType, place, freeWoundSlot, InjuryState.Open, 0, null, null); this.m_LeechNextTime2 = Injury.s_LeechCooldownInMinutes + MainLevel.Instance.GetCurrentTimeMinutes(); } }
private void UpdateInputsDebug() { if (!GreenHellGame.DEBUG || MenuInGameManager.Get().IsAnyScreenVisible()) { return; } if (Input.GetKeyDown(KeyCode.Numlock)) { this.CycleTimeScaleSlowdown(); } else if (Input.GetKeyDown(KeyCode.KeypadDivide)) { this.CycleTimeScaleSpeedup(); } else if (Input.GetKeyDown(KeyCode.KeypadPlus)) { this.m_TODTime.AddHours(1f, true); ReflectionProbeUpdater[] array = UnityEngine.Object.FindObjectsOfType <ReflectionProbeUpdater>(); for (int i = 0; i < array.Length; i++) { array[i].RenderProbe(); } } else if (Input.GetKeyDown(KeyCode.KeypadMinus)) { this.m_TODTime.AddHours(-1f, true); ReflectionProbeUpdater[] array2 = UnityEngine.Object.FindObjectsOfType <ReflectionProbeUpdater>(); for (int j = 0; j < array2.Length; j++) { array2[j].RenderProbe(); } } else if (Input.GetKeyDown(KeyCode.KeypadEnter)) { this.m_TODTime.AddHours(10f, true); ReflectionProbeUpdater[] array3 = UnityEngine.Object.FindObjectsOfType <ReflectionProbeUpdater>(); for (int k = 0; k < array3.Length; k++) { array3[k].RenderProbe(); } } else if (Input.GetKeyDown(KeyCode.Pause)) { this.m_DebugPause = !this.m_DebugPause; CursorManager.Get().ShowCursor(this.m_DebugPause); this.Pause(this.m_DebugPause); if (this.m_DebugPause) { Player.Get().BlockMoves(); Player.Get().BlockRotation(); } else { Player.Get().UnblockMoves(); Player.Get().UnblockRotation(); } } else if (Input.GetKey(KeyCode.LeftControl) && Input.GetKeyDown(KeyCode.M)) { Cheats.m_GodMode = !Cheats.m_GodMode; } else if (Input.GetKeyDown(KeyCode.KeypadPeriod)) { this.m_TODTime.ProgressTime = !this.m_TODTime.ProgressTime; } else if (Input.GetKey(KeyCode.LeftAlt) && Input.GetKeyDown(KeyCode.BackQuote)) { if (Input.GetKey(KeyCode.LeftShift)) { Player.Get().TwentyFivePointsOfDamage(); } else { Player.Get().Kill(); Player.Get().UpdateDeath(); } } else if (Input.GetKeyDown(KeyCode.Equals)) { if (Input.GetKey(KeyCode.LeftShift)) { RainManager.Get().ToggleDebug(); } else { RainManager.Get().ToggleRain(); } } else if (Input.GetKeyDown(KeyCode.Semicolon)) { this.PlayMovieWithFade("Tutorial_End"); } else if (Input.GetKeyDown(KeyCode.Minus)) { this.m_DebugShowCursor = !this.m_DebugShowCursor; CursorManager.Get().ShowCursor(this.m_DebugShowCursor); if (this.m_DebugShowCursor) { Vector2 zero = Vector2.zero; zero.Set((float)(Screen.width / 2), (float)(Screen.height / 2)); CursorManager.Get().SetCursorPos(zero); } } else if (Input.GetKeyDown(KeyCode.U) && !Input.GetKey(KeyCode.LeftControl)) { ParticleSystem[] array4 = Resources.FindObjectsOfTypeAll <ParticleSystem>(); int num = 0; int num2 = 0; for (int l = 0; l < array4.Length; l++) { bool activeInHierarchy = array4[l].gameObject.activeInHierarchy; Debug.Log("ParticleSystem " + array4[l].gameObject.name + ((!activeInHierarchy) ? " 0" : " 1")); if (activeInHierarchy) { num++; } else { num2++; } } Debug.Log("ParticleSystem num active " + num.ToString()); Debug.Log("ParticleSystem num inactive " + num2.ToString()); } else if (Input.GetKeyDown(KeyCode.LeftBracket) || Input.GetKeyDown(KeyCode.RightBracket)) { if (this.m_CutscenePlayer == null) { GameObject original; if (Input.GetKeyDown(KeyCode.LeftBracket)) { original = (Resources.Load("Prefabs/TempPrefabs/CutscenePlayer/CutscenePlayer") as GameObject); } else { original = (Resources.Load("Prefabs/TempPrefabs/CutscenePlayer/CutscenePlayer2") as GameObject); } this.m_CutscenePlayer = UnityEngine.Object.Instantiate <GameObject>(original); this.m_CutscenePlayer.transform.rotation = Player.Get().transform.rotation; this.m_CutscenePlayer.transform.position = Player.Get().transform.position; CameraManager.Get().SetTarget(this.m_CutscenePlayer.GetComponent <Being>()); CameraManager.Get().SetMode(CameraManager.Mode.CutscenePlayer); } else { UnityEngine.Object.Destroy(this.m_CutscenePlayer); this.m_CutscenePlayer = null; CameraManager.Get().SetTarget(Player.Get()); CameraManager.Get().SetMode(CameraManager.Mode.Normal); } } else if (Input.GetKey(KeyCode.LeftControl) && Input.GetKeyDown(KeyCode.F6)) { Player.Get().StartController(PlayerControllerType.BodyInspectionMiniGame); } else if (Input.GetKeyDown(KeyCode.Keypad9)) { SaveGame.Save(); } if (Input.GetKey(KeyCode.LeftControl)) { HUDCameraPosition.Get().m_Active = true; } else { HUDCameraPosition.Get().m_Active = false; } }
public void UpdateProcessing() { if (!ItemsManager.Get()) { return; } float num = MainLevel.Instance.m_TODSky.Cycle.GameTimeDelta; if (HUDSleeping.Get().GetState() == HUDSleepingState.Progress) { num = SleepController.Get().m_HoursDelta; } else if (ConsciousnessController.Get().IsUnconscious()) { num = ConsciousnessController.Get().m_HoursDelta; } foreach (ItemSlot itemSlot in this.m_ActiveSlots) { Food food = (Food)itemSlot.m_Item; if (this.m_Firecamp) { if (!this.m_Firecamp.m_Burning) { if (food.m_ProcessDuration > 0f) { food.m_ProcessDuration -= num; } else { food.m_ProcessDuration = 0f; } if (!itemSlot.gameObject.activeSelf) { itemSlot.gameObject.SetActive(true); } if (!itemSlot.m_Item.enabled) { itemSlot.m_Item.enabled = true; continue; } continue; } } else if (this.m_Type != FoodProcessor.Type.Dryer && (!this.m_ConnectedFirecamp || !this.m_ConnectedFirecamp.m_Burning)) { if (food.m_ProcessDuration > 0f) { food.m_ProcessDuration -= num; } else { food.m_ProcessDuration = 0f; } if (!itemSlot.gameObject.activeSelf) { itemSlot.gameObject.SetActive(true); } if (!itemSlot.m_Item.enabled) { itemSlot.m_Item.enabled = true; continue; } continue; } if (this.m_Type == FoodProcessor.Type.Dryer) { if (!RainManager.Get().IsRain() || RainManager.Get().IsInRainCutter(base.transform.position)) { food.m_ProcessDuration += num; } else if (food.m_ProcessDuration > 0f) { food.m_ProcessDuration -= num; } else { food.m_ProcessDuration = 0f; } } else { food.m_ProcessDuration += num; } FoodInfo foodInfo = (FoodInfo)itemSlot.m_Item.m_Info; if (food.m_ProcessDuration >= this.GetProcessingTime(foodInfo) || this.m_DebugImmediate) { HUDProcess.Get().UnregisterProcess(itemSlot.m_Item); Item item = ItemsManager.Get().CreateItem(this.GetResultItemID(foodInfo), true, itemSlot.m_Item.transform.position, itemSlot.m_Item.transform.rotation); itemSlot.ReplaceItem(item); if (!this.m_ProcessedSlots.Contains(itemSlot)) { this.m_ProcessedSlots.Add(itemSlot); } this.m_DebugImmediate = false; if (this.m_Type == FoodProcessor.Type.Fire && !foodInfo.m_CanCook) { food.m_Burned = true; break; } break; } } }
public void UpdateInternal() { if (this.m_GrownPlant) { AcreRespawnFruits component = this.m_GrownPlant.GetComponent <AcreRespawnFruits>(); if (component) { component.UpdateInternal(); } } float num = Time.deltaTime; if (SleepController.Get().IsActive() && !SleepController.Get().IsWakingUp()) { num = Player.GetSleepTimeFactor(); } if (RainManager.Get().IsRain()) { this.m_WaterAmount += this.m_FillSpeed * num; } else if (this.m_ItemId == ItemID.None) { this.m_WaterAmount -= this.m_DrySpeed * num; } else { this.m_WaterAmount -= ItemsManager.Get().GetInfo(this.m_ItemId).m_AcreDehydration *num; } this.m_WaterAmount = Mathf.Clamp(this.m_WaterAmount, 0f, this.m_MaxWaterAmount); if (this.m_ItemId != ItemID.None) { this.m_FertilizerAmount -= ItemsManager.Get().GetInfo(this.m_ItemId).m_AcreDefertilization *num; this.m_FertilizerAmount = Mathf.Clamp(this.m_FertilizerAmount, 0f, this.m_MaxFertilizerAmount); } this.UpdateShaderProperties(); float currentTimeMinutes = MainLevel.Instance.GetCurrentTimeMinutes(); if (!this.m_Plant || this.m_AcreState != AcreState.Growing || this.m_WaterAmount <= 0f) { this.m_LastUpdateTIme = currentTimeMinutes; return; } bool flag = false; float num2 = this.m_Plant.transform.localScale.x; float num3 = 1f; this.m_NumBuffs = 0; if (this.m_WaterAmount > 50f) { num3 = 1.2f; this.m_NumBuffs++; } float num4 = 1f; if (this.m_FertilizerAmount / this.m_MaxFertilizerAmount > 0.5f) { num4 = 1.4f; this.m_NumBuffs += 2; } else if (this.m_FertilizerAmount / this.m_MaxFertilizerAmount > 0.01f) { num4 = 1.2f; this.m_NumBuffs++; } if (this.m_WaterAmount > 0f) { num2 += (currentTimeMinutes - this.m_LastUpdateTIme) / this.m_TimeToGrow * (num4 * num3); } if (num2 >= 1f) { flag = true; } num2 = Mathf.Clamp01(num2); Vector3 one = Vector3.one; one.Set(num2, num2, num2); if (this.m_Plant) { this.m_Plant.transform.localScale = one; } if (flag) { this.SetState(AcreState.Grown); } this.m_LastUpdateTIme = currentTimeMinutes; }
public override void ConstantUpdate() { if (ItemsManager.Get().m_ItemsToSetupAfterLoad.Count > 0) { return; } base.ConstantUpdate(); if (this.m_State == MudMixer.State.WaitingForWater && this.m_WaterAmount < this.m_RequiredWaterAmount && RainManager.Get().IsRain() && !RainManager.Get().IsInRainCutter(base.transform.position)) { float num = Time.deltaTime; if (SleepController.Get().IsActive() && !SleepController.Get().IsWakingUp()) { num = Player.GetSleepTimeFactor(); } this.m_WaterAmount += num * 8f; this.m_WaterAmount = Mathf.Clamp(this.m_WaterAmount, 0f, this.m_RequiredWaterAmount); if (this.m_WaterAmount >= this.m_RequiredWaterAmount) { this.SetState(MudMixer.State.Full); return; } } else if (this.m_State == MudMixer.State.Ready) { int i = 0; while (i < this.m_ResultItems.Count) { if (this.m_ResultItems[i] == null || this.m_ResultItems[i].m_WasTriggered) { this.m_ResultItems.RemoveAt(i); } else { i++; } } if (this.m_ResultItems.Count == 0) { this.SetState(MudMixer.State.WaitingForClay0); } } }