// Sun
 void setSunIntensity(weatherGet weather, float sunIntensity)
 {
     if (weather.getSunDuration() > 0)
     {
         weather.setSunIntensity(sunIntensity);
     }
 }
 // Rain
 void setRainIntensity(weatherGet weather, float rainIntensity)
 {
     if (weather.getRainDuration() > 0)
     {
         weather.setRainIntensity(rainIntensity);
     }
 }
Пример #3
0
    private void Start()
    {
        labelTemperature      = GameObject.Find("container_Temperature").GetComponent <Text>();
        currentWeather        = weather[Random.Range(0, 2)];
        labelTemperature.text = Random.Range(currentWeather.getTemperatureMin(), currentWeather.getTemperatureMax()).ToString() + "°C";

        hour = timekeeper.hour_military;

        if (RainScript == null)
        {
            return;
        }
        RainScript.EnableWind = false;
        triggerRain           = UnityEngine.Random.Range(0, currentWeather.getSunDuration() - 1);
        rainChancePicker();

        //Debug.Log(currentWeather);
        //Debug.Log(currentWeather.getWeatherType());
        //Debug.Log("Starting TriggerRain " + triggerRain);
        //Debug.Log(triggerRain + " " + currentWeather.getRainDuration() + " " + currentWeather.getSunDuration());
    }
Пример #4
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;
        }
    }