void OnDestroy() { ToggleSkyObjects(false); //Unsubscribe from events PlayerEnterExit.OnTransitionInterior -= InteriorTransitionEvent; //interior transition PlayerEnterExit.OnTransitionDungeonInterior -= InteriorTransitionEvent; //dungeon interior transition PlayerEnterExit.OnTransitionExterior -= ExteriorTransitionEvent; //exterior transition PlayerEnterExit.OnTransitionDungeonExterior -= ExteriorTransitionEvent; //dungeon exterior transition StreamingWorld.OnTeleportToCoordinates -= EnhancedSkyUpdate; WeatherManager.OnClearOvercast -= WeatherManagerSkyEventsHandler; WeatherManager.OnSetRainOvercast -= WeatherManagerSkyEventsHandler; WeatherManager.OnSetSnowOvercast -= WeatherManagerSkyEventsHandler; Destroy(StarsMat); Destroy(_skyObjMat); Destroy(StarMaskMat); Destroy(MasserMat); Destroy(SecundaMat); Resources.UnloadAsset(_depthMaskShader); Resources.UnloadAsset(_UnlitAlphaFadeShader); StopAllCoroutines(); if (_instance == this) { _instance = null; } }
public static string Execute(params string[] args) { SkyManager skyMan = SkyManager.instance; if (SkyManager.instance == null) { return("SkyManager instance not found"); } else { switch (skyMan.SkyObjectSizeSetting) { case SkyObjectSize.Normal: { skyMan.SkyObjectSizeChange(SkyObjectSize.Large); } break; case SkyObjectSize.Large: { skyMan.SkyObjectSizeChange(SkyObjectSize.Normal); } break; default: break; } } return(string.Format("Set sky object size normal: {0} ", skyMan.SkyObjectSizeSetting)); }
public static void initMod() { Debug.Log("init of EnhancedSky standalone"); gameobjectEnhancedSky = new GameObject("EnhancedSkyController"); componentPresetContainer = gameobjectEnhancedSky.AddComponent <PresetContainer>() as PresetContainer; SetPresetContainerValues(componentPresetContainer); PresetContainer.Instance = componentPresetContainer; componentSkyManager = gameobjectEnhancedSky.AddComponent <SkyManager>() as SkyManager; SkyManager.instance = componentSkyManager; componentCloudGenerator = gameobjectEnhancedSky.AddComponent <CloudGenerator>() as CloudGenerator; componentSkyManager.ModSelf = mod; starMaskMat = new Material(shaderDepthMask); skyObjMat = new Material(shaderUnlitAlphaWithFade); componentSkyManager.StarMaskMat = starMaskMat; componentSkyManager.SkyObjMat = skyObjMat; componentSkyManager.StarsMat = starsMat; componentSkyManager.SkyMat = skyMat; if (containerPrefab) { GameObject container = Instantiate(containerPrefab) as GameObject; container.transform.SetParent(GameManager.Instance.ExteriorParent.transform, true); componentSkyManager.Container = container; //container.AddComponent<MoonController>(); //container.AddComponent<AmbientFogLightController>(); //container.transform.Find("SkyCam").gameObject.AddComponent<SkyCam>(); //container.transform.Find("Stars").Find("StarParticles").gameObject.AddComponent<StarController>(); //container.transform.Find("Rotator").gameObject.AddComponent<RotationScript>(); //container.transform.Find("cloudPrefab").gameObject.AddComponent<Cloud>(); GameObject goParticles = container.transform.Find("Stars").Find("StarParticles").gameObject; goParticles.GetComponent <ParticleSystemRenderer>().sharedMaterial = new Material(shaderUnlitAlphaWithFade); GameObject goSun = container.transform.Find("Rotator").Find("Sun").gameObject; goSun.GetComponent <LensFlare>().flare = sunFlare; goSun.GetComponent <Light>().intensity = sunSize; } else { throw new System.NullReferenceException(); } componentSkyManager.ToggleEnhancedSky(true); componentSkyManager.UseSunFlare = enableSunFlare; componentSkyManager.cloudQuality = cloudQuality; componentSkyManager.SkyObjectSizeChange(0); // set normal size }
void Awake() { if (_instance == null) { _instance = this; } else if (this != instance) { Destroy(this.gameObject); } /* * PresetContainer presetContainer = this.gameObject.GetComponent<PresetContainer>(); //this.gameObject.AddComponent<PresetContainer>(); * * Gradient gradient = new Gradient(); * GradientAlphaKey[] gak = { * new GradientAlphaKey(55.0f/255.0f, 0.0f), * new GradientAlphaKey(75.0f/255.0f, 0.21f), * new GradientAlphaKey(255.0f/255.0f, 0.31f), * new GradientAlphaKey(255.0f/255.0f, 0.69f), * new GradientAlphaKey(75.0f/255.0f, 0.79f), * new GradientAlphaKey(75.0f/255.0f, 1.0f) * }; * string[] colorsAsHex = { "#3C3C3C", "#727272", "#A8553E", "#DAD6D6", "#D6D6D6", "#C5BFBF", "#A8553E", "#3C3C3C" }; * Color[] colors = new Color[colorsAsHex.Length]; * for (int i = 0; i < colors.Length; i++) * { * UnityEngine.ColorUtility.TryParseHtmlString(colorsAsHex[i], out colors[i]); * } * GradientColorKey[] gck = { * new GradientColorKey(colors[0], 0.0f), * new GradientColorKey(colors[1], 0.159f), * new GradientColorKey(colors[2], 0.244f), * new GradientColorKey(colors[3], 0.318f), * new GradientColorKey(colors[4], 0.5f), * new GradientColorKey(colors[5], 0.694f), * new GradientColorKey(colors[6], 0.762f), * new GradientColorKey(colors[7], 0.835f) * }; * gradient.alphaKeys = gak; * gradient.colorKeys = gck; * presetContainer.colorBase = gradient; */ _stopWatch = new System.Diagnostics.Stopwatch(); PlayerEnterExit.OnTransitionInterior += InteriorTransitionEvent; //interior transition PlayerEnterExit.OnTransitionDungeonInterior += InteriorTransitionEvent; //dungeon interior transition PlayerEnterExit.OnTransitionExterior += ExteriorTransitionEvent; //exterior transition PlayerEnterExit.OnTransitionDungeonExterior += ExteriorTransitionEvent; //dungeon exterior transition StreamingWorld.OnTeleportToCoordinates += EnhancedSkyUpdate; WeatherManager.OnWeatherChange += WeatherManagerSkyEventsHandler; //ToggleEnhancedSky(true); }
public static string Execute(params string[] args) { SkyManager skyMan = SkyManager.instance; if (skyMan == null) { return("SkyManager instance not found"); } else { skyMan.UseSunFlare = !skyMan.UseSunFlare; return(string.Format("SkyManager: Sun flare toggled; current state: {0}", skyMan.UseSunFlare)); } }
public static string Execute(params string[] args) { SkyManager skyMan = SkyManager.instance; if (skyMan == null) { return("SkyManager instance not found"); } else { skyMan.ToggleEnhancedSky(!skyMan.EnhancedSkyCurrentToggle); return(string.Format("SkyManager toggled; current state on: {0}", skyMan.EnhancedSkyCurrentToggle)); } }
void OnDestroy() { ToggleSkyObjects(false); //Unsubscribe from events PlayerEnterExit.OnTransitionInterior -= InteriorTransitionEvent; //interior transition PlayerEnterExit.OnTransitionDungeonInterior -= InteriorTransitionEvent; //dungeon interior transition PlayerEnterExit.OnTransitionExterior -= ExteriorTransitionEvent; //exterior transition PlayerEnterExit.OnTransitionDungeonExterior -= ExteriorTransitionEvent; //dungeon exterior transition StreamingWorld.OnTeleportToCoordinates -= EnhancedSkyUpdate; WeatherManager.OnWeatherChange -= WeatherManagerSkyEventsHandler; StopAllCoroutines(); if (_instance == this) { _instance = null; } }
void Awake() { if (_instance == null) { _instance = this; } else if (this != instance) { Destroy(this.gameObject); } _stopWatch = new System.Diagnostics.Stopwatch(); PlayerEnterExit.OnTransitionInterior += InteriorTransitionEvent; //interior transition PlayerEnterExit.OnTransitionDungeonInterior += InteriorTransitionEvent; //dungeon interior transition PlayerEnterExit.OnTransitionExterior += ExteriorTransitionEvent; //exterior transition PlayerEnterExit.OnTransitionDungeonExterior += ExteriorTransitionEvent; //dungeon exterior transition StreamingWorld.OnTeleportToCoordinates += EnhancedSkyUpdate; WeatherManager.OnClearOvercast += WeatherManagerSkyEventsHandler; WeatherManager.OnSetRainOvercast += WeatherManagerSkyEventsHandler; WeatherManager.OnSetSnowOvercast += WeatherManagerSkyEventsHandler; }
public static string Execute(params string[] args) { SkyManager skyMan = SkyManager.instance; //Cloud cloud = GameObject.FindObjectOfType<Cloud>(); int quality = 1; if (args == null || args.Length < 1 || skyMan == null) { return(Wenzil.Console.Commands.HelpCommand.Execute(SetCloudQuality.name)); } else if (!int.TryParse(args[0], out quality)) { return(Wenzil.Console.Commands.HelpCommand.Execute(SetCloudQuality.name)); } else { //skyMan.cloudQuality = quality; skyMan.SetCloudTextureResolution(quality); return(string.Format("Set cloud quality to : {0}", skyMan.cloudQuality)); } }
public override void OnInspectorGUI() { SkyManager skyMan = (SkyManager)target; DrawDefaultInspector(); if (EditorApplication.isPlaying) { if (GUILayout.Button("Toggle Enhanced Sky")) { skyMan.EnhancedSkyCurrentToggle = !skyMan.EnhancedSkyCurrentToggle; skyMan.ToggleEnhancedSky(skyMan.EnhancedSkyCurrentToggle); } if (GUILayout.Button("Toggle Sun Flare")) { skyMan.UseSunFlare = !skyMan.UseSunFlare; } if (GUILayout.Button("Apply normal cloud texture")) { Cloud cloud = GameObject.FindObjectOfType <Cloud>(); if (cloud != null) { cloud.GetNewTexture(false); } } if (GUILayout.Button("Apply overcast cloud texture")) { Cloud cloud = GameObject.FindObjectOfType <Cloud>(); if (cloud != null) { cloud.GetNewTexture(true); } } if (GUILayout.Button("Toggle Weather")) //WeatherManager doesn't like this before the game is properly started { if (skyMan.IsOvercast) { skyMan.weatherMan.ClearAllWeather(); } else { skyMan.weatherMan.SetRainOvercast(true); } Debug.Log("Is Overcast: " + skyMan.weatherMan.IsOvercast); } skyObjectSizeSelected = (SkyObjectSize)EditorGUILayout.EnumPopup("Sky Object Size", skyObjectSizeSelected); if (GUILayout.Button("Update Setting")) { skyMan.SkyObjectSizeChange(skyObjectSizeSelected); } } }
void OnDestroy() { ToggleSkyObjects(false); //Unsubscribe from events PlayerEnterExit.OnTransitionInterior -= InteriorTransitionEvent; //interior transition PlayerEnterExit.OnTransitionDungeonInterior -= InteriorTransitionEvent; //dungeon interior transition PlayerEnterExit.OnTransitionExterior -= ExteriorTransitionEvent; //exterior transition PlayerEnterExit.OnTransitionDungeonExterior -= ExteriorTransitionEvent; //dungeon exterior transition StreamingWorld.OnTeleportToCoordinates -= EnhancedSkyUpdate; WeatherManager.OnClearOvercast -= WeatherManagerSkyEventsHandler; WeatherManager.OnSetRainOvercast -= WeatherManagerSkyEventsHandler; WeatherManager.OnSetSnowOvercast -= WeatherManagerSkyEventsHandler; Destroy(StarsMat); Destroy(_skyObjMat); Destroy(StarMaskMat); Destroy(MasserMat); Destroy(SecundaMat); Resources.UnloadAsset(_depthMaskShader); Resources.UnloadAsset(_UnlitAlphaFadeShader); StopAllCoroutines(); if (_instance == this) _instance = null; }
void Awake() { if (_instance == null) _instance = this; else if (this != instance) { Destroy(this.gameObject); } _stopWatch = new System.Diagnostics.Stopwatch(); PlayerEnterExit.OnTransitionInterior += InteriorTransitionEvent; //interior transition PlayerEnterExit.OnTransitionDungeonInterior += InteriorTransitionEvent; //dungeon interior transition PlayerEnterExit.OnTransitionExterior += ExteriorTransitionEvent; //exterior transition PlayerEnterExit.OnTransitionDungeonExterior += ExteriorTransitionEvent; //dungeon exterior transition StreamingWorld.OnTeleportToCoordinates += EnhancedSkyUpdate; WeatherManager.OnClearOvercast += WeatherManagerSkyEventsHandler; WeatherManager.OnSetRainOvercast += WeatherManagerSkyEventsHandler; WeatherManager.OnSetSnowOvercast += WeatherManagerSkyEventsHandler; }