private void Update() { changeTempTimer += Time.deltaTime; if (hour == 23) { hour = timekeeper.hour_military; } if (newWeather == true) { //Debug.Log("New Weather"); newWeather = false; currentWeather = weather[Random.Range(0, 2)]; //Debug.Log(currentWeather + " " + currentWeather.getWeatherType()); triggerRain = Random.Range(0, currentWeather.getSunDuration() - 1); //Debug.Log("Brand new TriggerRain " + triggerRain); rainChancePicker(); } if (currentWeather.getSunny() == true) { if (timekeeper.hour_military == hour + 1) { currentWeather.setSunDuration(currentWeather.getSunDuration() - 1); hour = timekeeper.hour_military; } if (currentWeather.getSunDuration() <= 0 || currentWeather.getSunDuration() == triggerRain) { if (currentWeather.getSunDuration() == triggerRain) { triggerRain = 0; } currentWeather.setRaining(true); currentWeather.setSunny(false); } } else if (currentWeather.getRaining() == true) { if (timekeeper.hour_military == hour + 1) { currentWeather.setRainDuration(currentWeather.getRainDuration() - 1); hour = timekeeper.hour_military; } if (currentWeather.getRainDuration() <= 0 /*||currentWeather.getRainDuration() == triggerSun*/) { currentWeather.setRaining(false); currentWeather.setSunny(true); } } if (currentWeather.getSunDuration() <= 0 && currentWeather.getRainDuration() <= 0) { weatherSimulator.makeWeather = true; //Debug.Log("Simulating new weather"); } if (RainScript == null) { return; } else if (currentWeather.getRaining()) { RainScript.RainIntensity = currentWeather.getRainIntensity(); RainScript.EnableWind = true; } else if (currentWeather.getSunny()) { RainScript.RainIntensity = 0f; RainScript.EnableWind = false; } if (changeTempTimer >= 5) { //Debug.Log("Changing Temp"); int newTemp = Random.Range(currentWeather.getTemperatureMin(), currentWeather.getTemperatureMax()); if (hour >= 18) { newTemp -= 10; } labelTemperature.text = newTemp.ToString() + "°C"; changeTempTimer = 0; } }