150 lines
2.9 KiB
C#
150 lines
2.9 KiB
C#
using System.Collections;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
public class DemoUI : MonoBehaviour
|
|
{
|
|
public Slider sliderTime;
|
|
|
|
public Slider sliderQuality;
|
|
|
|
public Text timeText;
|
|
|
|
public Text weatherText;
|
|
|
|
public Dropdown weatherDropdown;
|
|
|
|
private bool seasonmode = true;
|
|
|
|
private bool fastdays;
|
|
|
|
private void Start()
|
|
{
|
|
StartCoroutine(setupDrodown());
|
|
}
|
|
|
|
private IEnumerator setupDrodown()
|
|
{
|
|
yield return new WaitForSeconds(0.1f);
|
|
for (int i = 0; i < EnviroSky.instance.Weather.WeatherTemplates.Count; i++)
|
|
{
|
|
Dropdown.OptionData optionData = new Dropdown.OptionData();
|
|
optionData.text = EnviroSky.instance.Weather.WeatherTemplates[i].Name;
|
|
weatherDropdown.options.Add(optionData);
|
|
}
|
|
weatherDropdown.value = 0;
|
|
}
|
|
|
|
public void ChangeTimeSlider()
|
|
{
|
|
if (sliderTime.value < 0.01f)
|
|
{
|
|
sliderTime.value = 0.01f;
|
|
}
|
|
EnviroSky.instance.GameTime.Hours = sliderTime.value * 24f;
|
|
}
|
|
|
|
public void ChangeQualitySlider()
|
|
{
|
|
EnviroSky.instance.Quality.GlobalParticleEmissionRates = sliderQuality.value;
|
|
}
|
|
|
|
public void SetWeatherID(int id)
|
|
{
|
|
EnviroSky.instance.SetWeatherOverwrite(id);
|
|
}
|
|
|
|
public void OverwriteSeason()
|
|
{
|
|
if (!seasonmode)
|
|
{
|
|
seasonmode = true;
|
|
EnviroSky.instance.Seasons.calcSeasons = true;
|
|
}
|
|
else
|
|
{
|
|
seasonmode = false;
|
|
EnviroSky.instance.Seasons.calcSeasons = false;
|
|
}
|
|
}
|
|
|
|
public void FastDays()
|
|
{
|
|
if (!fastdays)
|
|
{
|
|
fastdays = true;
|
|
EnviroSky.instance.GameTime.DayLengthInMinutes = 0.2f;
|
|
}
|
|
else
|
|
{
|
|
fastdays = false;
|
|
EnviroSky.instance.GameTime.DayLengthInMinutes = 5f;
|
|
}
|
|
}
|
|
|
|
public void SetSeasonSpring()
|
|
{
|
|
EnviroSky.instance.ChangeSeason(SeasonVariables.Seasons.Spring);
|
|
}
|
|
|
|
public void SetSeasonSummer()
|
|
{
|
|
EnviroSky.instance.ChangeSeason(SeasonVariables.Seasons.Summer);
|
|
}
|
|
|
|
public void SetSeasonAutumn()
|
|
{
|
|
EnviroSky.instance.ChangeSeason(SeasonVariables.Seasons.Autumn);
|
|
}
|
|
|
|
public void SetSeasonWinter()
|
|
{
|
|
EnviroSky.instance.ChangeSeason(SeasonVariables.Seasons.Winter);
|
|
}
|
|
|
|
public void ToggleShadows(bool i)
|
|
{
|
|
EnviroSky.instance.Quality.CloudsShadowCast = i;
|
|
}
|
|
|
|
public void SetFog(bool i)
|
|
{
|
|
EnviroSky.instance.Fog.AdvancedFog = i;
|
|
}
|
|
|
|
public void SetClouds(int i)
|
|
{
|
|
if (i == 0)
|
|
{
|
|
EnviroSky.instance.Quality.CloudsQuality = EnviroQualitySettings.CloudQuality.None;
|
|
}
|
|
if (i == 1)
|
|
{
|
|
EnviroSky.instance.Quality.CloudsQuality = EnviroQualitySettings.CloudQuality.OneLayer;
|
|
}
|
|
if (i == 2)
|
|
{
|
|
EnviroSky.instance.Quality.CloudsQuality = EnviroQualitySettings.CloudQuality.TwoLayer;
|
|
}
|
|
}
|
|
|
|
private void Update()
|
|
{
|
|
if (EnviroSky.instance.started)
|
|
{
|
|
int num = (int)EnviroSky.instance.GameTime.Hours;
|
|
timeText.text = num + ":00";
|
|
if (EnviroSky.instance.Weather.currentActiveWeatherID != null)
|
|
{
|
|
weatherText.text = EnviroSky.instance.Weather.currentActiveWeatherID.Name;
|
|
}
|
|
ChangeQualitySlider();
|
|
}
|
|
}
|
|
|
|
private void LateUpdate()
|
|
{
|
|
sliderTime.value = EnviroSky.instance.GameTime.Hours / 24f;
|
|
}
|
|
}
|