Пример #1
0
    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;
        }
    }