| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144 | 
							- using System.Collections;
 
- using System.Collections.Generic;
 
- using UnityEngine;
 
- using System;
 
- namespace Enviro
 
- {
 
-     [Serializable]
 
-     public class EnviroFlatClouds
 
-     {  
 
-         // Cirrus
 
-         public bool useCirrusClouds = true;
 
-         public Texture2D cirrusCloudsTex;
 
-         [Range(0f,1f)]
 
-         public float cirrusCloudsAlpha;
 
-          [Range(0f,2f)]
 
-         public float cirrusCloudsColorPower;
 
-          [Range(0f,1f)]
 
-         public float cirrusCloudsCoverage;
 
-         [GradientUsage(true)]
 
-         public Gradient  cirrusCloudsColor;
 
-         // Flat Clouds 
 
-         public bool useFlatClouds = true;
 
-         public Texture2D flatCloudsBaseTex; 
 
-         public Texture2D flatCloudsDetailTex;
 
-  
 
-         [GradientUsage(true)]
 
-         public Gradient flatCloudsLightColor;
 
-         [GradientUsage(true)]
 
-         public Gradient flatCloudsAmbientColor;
 
-         [Range(0f,2f)]
 
-         public float flatCloudsLightIntensity = 1.0f;
 
-         [Range(0f,2f)]
 
-         public float flatCloudsAmbientIntensity = 1.0f;
 
-         [Range(0f,2f)]
 
-         public float flatCloudsAbsorbtion = 0.6f;
 
-         [Range(0f,1f)]
 
-         public float flatCloudsHGPhase = 0.6f;
 
-         [Range(0f,2f)]
 
-         public float flatCloudsCoverage = 1f;
 
-         [Range(0f,2f)]
 
-         public float flatCloudsDensity = 1f;
 
-         public float flatCloudsAltitude = 10f;
 
-         public bool flatCloudsTonemapping;
 
-         public float flatCloudsBaseTiling = 4f;
 
-         public float flatCloudsDetailTiling = 10f;
 
-     } 
 
-     [Serializable]
 
-     public class EnviroFlatCloudsModule : EnviroModule
 
-     {   
 
-         public Enviro.EnviroFlatClouds settings;
 
-         public EnviroFlatCloudsModule preset;
 
-         public bool showCirrusCloudsControls;
 
-         public bool show2DCloudsControls; 
 
-          
 
-         // Update Method
 
-         public override void UpdateModule ()
 
-         { 
 
-             if(settings.useCirrusClouds)
 
-             {
 
-                 Shader.SetGlobalFloat("_CirrusClouds",1f);
 
-                 if(settings.cirrusCloudsTex != null)
 
-                 Shader.SetGlobalTexture("_CirrusCloudMap",settings.cirrusCloudsTex);
 
-     
 
-                 Shader.SetGlobalFloat("_CirrusCloudAlpha",settings.cirrusCloudsAlpha);
 
-                 Shader.SetGlobalFloat("_CirrusCloudCoverage",settings.cirrusCloudsCoverage);
 
-                 Shader.SetGlobalFloat("_CirrusCloudColorPower",settings.cirrusCloudsColorPower);
 
-                 Shader.SetGlobalColor("_CirrusCloudColor",settings.cirrusCloudsColor.Evaluate(EnviroManager.instance.solarTime));
 
-             }
 
-             else
 
-             {
 
-                  Shader.SetGlobalFloat("_CirrusClouds",0f);
 
-             }
 
-             if(settings.useFlatClouds)
 
-             {
 
-                 Shader.SetGlobalFloat("_FlatClouds",1f);
 
-                 if(settings.flatCloudsBaseTex != null)
 
-                 Shader.SetGlobalTexture("_FlatCloudsBaseTexture",settings.flatCloudsBaseTex);
 
-                 if(settings.flatCloudsDetailTex != null)
 
-                 Shader.SetGlobalTexture("_FlatCloudsDetailTexture",settings.flatCloudsDetailTex);
 
-                 //_FlatCloudsAnimation;
 
-                 Shader.SetGlobalColor("_FlatCloudsLightColor", settings.flatCloudsLightColor.Evaluate(EnviroManager.instance.solarTime));
 
-                 Shader.SetGlobalColor("_FlatCloudsAmbientColor", settings.flatCloudsAmbientColor.Evaluate(EnviroManager.instance.solarTime));
 
-                 Vector3 lightDirection = Vector3.forward;
 
-                 if(EnviroManager.instance.Objects.directionalLight != null)
 
-                 lightDirection = EnviroManager.instance.Objects.directionalLight.transform.forward;
 
-                 Shader.SetGlobalVector("_FlatCloudsLightDirection",lightDirection);
 
-                 Shader.SetGlobalVector("_FlatCloudsLightingParams",new Vector4(settings.flatCloudsLightIntensity * 10f, settings.flatCloudsAmbientIntensity, settings.flatCloudsAbsorbtion,settings.flatCloudsHGPhase));
 
-                 Shader.SetGlobalVector("_FlatCloudsParams",new Vector4(settings.flatCloudsCoverage, settings.flatCloudsDensity * 5f, settings.flatCloudsAltitude,0f));
 
-                 Shader.SetGlobalVector("_FlatCloudsTiling",new Vector4(settings.flatCloudsBaseTiling, settings.flatCloudsDetailTiling, 0f,0f));
 
-             }
 
-             else
 
-             {
 
-                  Shader.SetGlobalFloat("_FlatClouds",0f);
 
-             }
 
-         }
 
-         //Save and Load 
 
-         public void LoadModuleValues ()
 
-         {
 
-             if(preset != null)
 
-             {
 
-                 settings = JsonUtility.FromJson<Enviro.EnviroFlatClouds>(JsonUtility.ToJson(preset.settings));
 
-             }
 
-             else
 
-             {
 
-                 Debug.Log("Please assign a saved module to load from!");
 
-             }
 
-         }
 
-         public void SaveModuleValues ()
 
-         {
 
- #if UNITY_EDITOR
 
-         EnviroFlatCloudsModule t =  ScriptableObject.CreateInstance<EnviroFlatCloudsModule>();
 
-         t.name = "Flat Clouds Preset";
 
-         t.settings = JsonUtility.FromJson<Enviro.EnviroFlatClouds>(JsonUtility.ToJson(settings));
 
-  
 
-         string assetPathAndName = UnityEditor.AssetDatabase.GenerateUniqueAssetPath("Assets/Enviro 3" + "/New " + t.name + ".asset");
 
-         UnityEditor.AssetDatabase.CreateAsset(t, assetPathAndName);
 
-         UnityEditor.AssetDatabase.SaveAssets();
 
-         UnityEditor.AssetDatabase.Refresh();
 
- #endif
 
-         }
 
-         public void SaveModuleValues (EnviroFlatCloudsModule module)
 
-         {
 
-             module.settings = JsonUtility.FromJson<Enviro.EnviroFlatClouds>(JsonUtility.ToJson(settings));
 
-             #if UNITY_EDITOR
 
-             UnityEditor.EditorUtility.SetDirty(module);
 
-             UnityEditor.AssetDatabase.SaveAssets();
 
-             #endif
 
-         }
 
-     }
 
- }
 
 
  |