using System.Collections.Generic; using UnityEngine; namespace Artngame.SKYMASTER { public class SKYMASTER_Volume_Clouds_Demo125 : MonoBehaviour { private VolumeClouds_SM Clouds; private VolumeClouds_SM Clouds_ORIGIN; private Light SunLight; public float Sun_time_start = 14.43f; public Transform SUN; public bool HUD_ON = true; public Transform Clouds_top; private float Dome_rot; private float SunLight_r; private float SunLight_g; private float SunLight_b; private float Camera_up; private float Sun_up; private float sun_rot_speed; private float cam_rot_speed; private int Cloud_divider = 45; private float Cloud_bed_height; private float Cloud_bed_width; private GameObject Cloud_instance; private float cloud_max_scale = 4f; private int cloud_max_particle_size = 300; private float cloud_X_speed; private float cloud_Z_speed; private bool Plus_hit; private bool Rot_clouds; public List CloudPresets; private int count_presets; private bool Alt_color; public SunShaftsSkyMaster Shafts; public GlobalFogSkyMaster Fog; private void Start() { Cloud_instance = Object.Instantiate(Clouds_top.gameObject, Clouds_top.transform.position, Quaternion.identity); Cloud_instance.SetActive(value: true); Clouds_ORIGIN = Clouds_top.gameObject.GetComponent(typeof(VolumeClouds_SM)) as VolumeClouds_SM; Clouds_ORIGIN.divider = Cloud_divider; Clouds_ORIGIN.cloud_max_scale = cloud_max_scale; Cloud_instance.SetActive(value: false); Cloud_instance.SetActive(value: true); if (Cloud_instance != null) { Clouds = Cloud_instance.GetComponent(typeof(VolumeClouds_SM)) as VolumeClouds_SM; } else { Debug.Log("AAA"); } if (Clouds != null) { cloud_X_speed = Clouds.wind.x; cloud_Z_speed = Clouds.wind.z; } } private void LateUpdate() { if (Rot_clouds) { if (Clouds != null) { Clouds.wind.x = 2f * Mathf.Cos(Time.fixedTime * 0.1f); Clouds.wind.z = 2f * Mathf.Sin(Time.fixedTime * 0.1f); Clouds.speed = 2f; Clouds.multiplier = 2f; } } else { Clouds.speed = 0.5f; Clouds.multiplier = 1f; } } private void OnGUI() { float num = 0f; float num2 = 10f; float num3 = Screen.currentResolution.width; num3 = Camera.main.pixelWidth; GUI.TextArea(new Rect(num3 - (num + 165f) - 0f, -20f + 0f * num2 + 140f + 7f + 30f + 30f + 30f + 40f + 60f + 40f, 120f, 20f), "Cloud Type: " + (count_presets + 1) + "/" + CloudPresets.Count); if (GUI.Button(new Rect(125f + num3 - (num + 165f) - 0f, -20f + 0f * num2 + 140f + 7f + 30f + 30f + 30f + 40f + 60f + 40f, 20f, 20f), "+")) { count_presets++; if (count_presets > CloudPresets.Count - 1) { count_presets = 0; } if (CloudPresets[count_presets] != Clouds_top) { Clouds_top = CloudPresets[count_presets]; Clouds_ORIGIN = Clouds_top.gameObject.GetComponent(typeof(VolumeClouds_SM)) as VolumeClouds_SM; Cloud_bed_width = Clouds_ORIGIN.max_bed_corner; Cloud_bed_height = Clouds_ORIGIN.cloud_bed_heigh; Cloud_divider = Clouds_ORIGIN.divider; cloud_max_scale = Clouds_ORIGIN.cloud_max_scale; } Plus_hit = true; } if (GUI.Button(new Rect(145f + num3 - (num + 165f) - 0f, -20f + 0f * num2 + 140f + 7f + 30f + 30f + 30f + 40f + 60f + 40f, 20f, 20f), "-")) { count_presets--; if (count_presets < 0) { count_presets = CloudPresets.Count - 1; } if (CloudPresets[count_presets] != Clouds_top) { Clouds_top = CloudPresets[count_presets]; Clouds_ORIGIN = Clouds_top.gameObject.GetComponent(typeof(VolumeClouds_SM)) as VolumeClouds_SM; Cloud_bed_width = Clouds_ORIGIN.max_bed_corner; Cloud_bed_height = Clouds_ORIGIN.cloud_bed_heigh; Cloud_divider = Clouds_ORIGIN.divider; cloud_max_scale = Clouds_ORIGIN.cloud_max_scale; } Plus_hit = true; } GUI.TextArea(new Rect(num3 - (num + 165f), 0f * num2 + 140f + 7f + 30f + 30f + 30f + 30f + 10f + 20f, 50f, 20f), "Clear"); if (GUI.Button(new Rect(num3 - (num + 165f) + 50f, 0f * num2 + 140f + 7f + 30f + 30f + 30f + 30f + 10f + 20f, 50f, 20f), "Clouds")) { Object.Destroy(Cloud_instance); } GUI.TextArea(new Rect(num3 - (num + 165f), 0f * num2 + 140f + 7f + 30f + 30f + 30f + 30f + 10f, 50f, 20f), "Toggle"); if (GUI.Button(new Rect(num3 - (num + 165f) + 50f, 0f * num2 + 140f + 7f + 30f + 30f + 30f + 30f + 10f, 50f, 20f), "Haze")) { if (Fog.enabled) { Fog.enabled = false; } else { Fog.enabled = true; } } if (GUI.Button(new Rect(num3 - (num + 165f) + 50f + 50f, 0f * num2 + 140f + 7f + 30f + 30f + 30f + 30f + 10f, 50f, 20f), "Shafts")) { if (Shafts.enabled) { Shafts.enabled = false; } else { Shafts.enabled = true; } } if (GUI.Button(new Rect(num3 - (num + 165f), 0f * num2 + 140f + 7f + 30f + 30f + 30f + 40f + 60f + 40f, 170f, 40f), "Recreate Clouds") | Plus_hit) { Object.Destroy(Cloud_instance); Plus_hit = false; Clouds_ORIGIN = Clouds_top.gameObject.GetComponent(typeof(VolumeClouds_SM)) as VolumeClouds_SM; Clouds_ORIGIN.max_bed_corner = Cloud_bed_width; Clouds_ORIGIN.min_bed_corner = 0f; Clouds_ORIGIN.cloud_bed_heigh = Cloud_bed_height; Clouds_ORIGIN.divider = Cloud_divider; Clouds_ORIGIN.cloud_max_scale = cloud_max_scale; Cloud_instance = Object.Instantiate(Clouds_top.gameObject, Clouds_top.transform.position, Quaternion.identity); Cloud_instance.SetActive(value: true); Clouds = Cloud_instance.GetComponent(typeof(VolumeClouds_SM)) as VolumeClouds_SM; if (Alt_color) { Clouds.Override_init_color = true; } } GUI.TextArea(new Rect(num3 - (num + 165f), 0f * num2 + 140f + 7f - 30f - 15f - 15f, 180f, 25f), "Cloud Centers = " + Clouds_ORIGIN.divider); Cloud_divider = (int)GUI.HorizontalSlider(new Rect(num3 - (num + 165f), 0f * num2 + 140f + 7f - 15f - 15f, 100f, 30f), Clouds_ORIGIN.divider, 2f, 85f); GUI.TextArea(new Rect(num3 - (num + 165f), 0f * num2 + 140f + 7f - 30f - 60f - 15f, 180f, 25f), "Cloud Bed size = " + Clouds_ORIGIN.max_bed_corner); Cloud_bed_width = GUI.HorizontalSlider(new Rect(num3 - (num + 165f), 0f * num2 + 140f + 7f - 60f - 15f, 100f, 30f), Clouds_ORIGIN.max_bed_corner, 300f, 8900f); GUI.TextArea(new Rect(num3 - (num + 165f), 0f * num2 + 140f + 7f - 30f - 60f - 60f, 180f, 25f), "Cloud Bed Height = " + Clouds_ORIGIN.cloud_bed_heigh); Cloud_bed_height = GUI.HorizontalSlider(new Rect(num3 - (num + 165f), 0f * num2 + 140f + 7f - 60f - 60f - 0f, 100f, 30f), Clouds_ORIGIN.cloud_bed_heigh, 50f, 1000f); GUI.TextArea(new Rect(num3 - (num + 165f), 0f * num2 + 140f + 7f + 30f - 15f - 15f - 15f, 180f, 25f), "Cloud Max size = " + Clouds_ORIGIN.cloud_max_scale); cloud_max_scale = GUI.HorizontalSlider(new Rect(num3 - (num + 165f), 0f * num2 + 140f + 7f + 30f + 30f - 15f - 15f - 15f, 100f, 30f), Clouds_ORIGIN.cloud_max_scale, 1f, 8f); GUI.TextArea(new Rect(num3 - (num + 165f), 0f * num2 + 140f + 7f + 30f + 30f + 30f - 15f - 15f - 15f - 15f + 20f + 22f, 180f, 22f), "Cloud speed"); cloud_X_speed = (int)GUI.HorizontalSlider(new Rect(num3 - (num + 165f), 0f * num2 + 140f + 7f + 30f + 30f + 30f + 30f - 15f - 15f - 15f - 15f + 35f + 2f, 100f, 20f), Clouds.wind.x, -70f, 70f); Clouds.wind.x = cloud_X_speed; cloud_Z_speed = (int)GUI.HorizontalSlider(new Rect(num3 - (num + 165f), 0f * num2 + 140f + 7f + 30f + 30f + 30f + 30f - 15f - 15f - 15f - 15f + 25f + 35f, 100f, 20f), Clouds.wind.z, -70f, 70f); Clouds.wind.z = cloud_Z_speed; GUI.TextArea(new Rect(num3 - (num + 165f), 0f * num2 + 140f + 7f + 30f + 30f + 30f + 30f + 30f + 20f, 170f, 20f), "Recreate renews the clouds"); if (GUI.Button(new Rect(num3 - (num + 165f), 0f * num2 + 140f + 7f + 30f + 30f + 30f + 40f + 60f, 170f, 20f), "Rotate Clouds")) { if (Rot_clouds) { Rot_clouds = false; } else { Rot_clouds = true; } } string text = "Alt color"; if (Alt_color) { text = "Prev color"; } if (GUI.Button(new Rect(num3 - (num + 165f), 8f * num2 + 140f + 7f + 30f + 30f + 30f + 40f + 60f, 170f, 40f), text)) { if (Alt_color) { Alt_color = false; } else { Alt_color = true; } } Clouds_ORIGIN.max_bed_corner = Cloud_bed_width; Clouds_ORIGIN.min_bed_corner = 0f - Cloud_bed_width; Clouds_ORIGIN.cloud_bed_heigh = Cloud_bed_height; Clouds_ORIGIN.divider = Cloud_divider; Clouds_ORIGIN.cloud_max_scale = cloud_max_scale; } } }