using System; using System.Collections.Generic; using UnityEngine; [Serializable] public class EnviroWeather { [Tooltip("If disabled the weather will never change.")] [Header("Weather Setup:")] public bool updateWeather = true; [Tooltip("Your WindZone that reflect our weather wind settings.")] public WindZone windZone; [Tooltip("The Enviro Lighting Flash Component.")] public EnviroLightning LightningGenerator; [Tooltip("A list of all possible thunder audio effects.")] public List ThunderSFX = new List(); [HideInInspector] public List WeatherTemplates = new List(); [HideInInspector] public List WeatherPrefabs = new List(); [Tooltip("List of additional zones. Will be updated on startup!")] [Header("Zones:")] public List zones = new List(); [Tooltip("Tag for zone triggers. Create and assign a tag to this gameObject")] public bool useTag; [Tooltip("Defines the speed of wetness will raise when it is raining.")] [Header("Weather Settings:")] public float wetnessAccumulationSpeed = 0.05f; [Tooltip("Defines the speed of snow will raise when it is snowing.")] public float snowAccumulationSpeed = 0.05f; [Tooltip("Defines the speed of clouds and fog will change when weather conditions changed.")] public float cloudChangeSpeed = 0.01f; [Tooltip("Defines the speed of particle effects will change when weather conditions changed.")] public float effectChangeSpeed = 0.01f; [Tooltip("The current active zone.")] [Header("Current active zone:")] public EnviroZone currentActiveZone; [Tooltip("The current active weather conditions.")] [Header("Current active weather:")] public EnviroWeatherPrefab currentActiveWeatherID; [HideInInspector] public EnviroWeatherPrefab lastActiveWeatherID; [HideInInspector] public GameObject VFXHolder; [HideInInspector] public float wetness; [HideInInspector] public float curWetness; [HideInInspector] public float SnowStrenght; [HideInInspector] public float curSnowStrenght; [HideInInspector] public float nextUpdate; [HideInInspector] public int thundersfx; [HideInInspector] public AudioSource currentAudioSource; }