Example #1
0
        void SetTime(EditorTime newTime)
        {
            if (firstTime)
            {
                Setup();
            }
            currentTime = newTime;

            Debug.Log("LightsOut: Switching to " + newTime + " Mode");

            // Toggle Shaders
            Debug.Log("LightsOut: Updating Shaders");
            shaderManager.SetShaderMode(newTime);

            // Toggle ambient settings
            Debug.Log("LightsOut: Updating Ambient Light and Skybox");
            ambientManager.SetAmbientMode(newTime);

            //toggle VAB/SPH lights
            Debug.Log("LightsOut: Updating VAB/SPH Lights");
            externalLightsManager.SetExternalLightsMode(newTime, FindObjectsOfType(typeof(Light)) as Light[]);

            // Toggle all part lights
            SetPartLights(newTime == EditorTime.Night);

            if (newTime == EditorTime.Night)
            {
                launcherButton.SetTexture((Texture)GameDatabase.Instance.GetTexture(sunIcon, false));
            }
            else
            {
                launcherButton.SetTexture((Texture)GameDatabase.Instance.GetTexture(munIcon, false));
            }
        }
Example #2
0
        public void SetAmbientMode(EditorTime time)
        {
            if (time == EditorTime.Night)
            {
                RenderSettings.ambientLight     = new Color(0.05f, 0.05f, 0.05f);
                RenderSettings.fog              = false;
                RenderSettings.ambientIntensity = 0.05f;
                mainCamera.clearFlags           = CameraClearFlags.Nothing;
                LightmapSettings.lightmaps      = new LightmapData[] { };
                RenderSettings.ambientMode      = UnityEngine.Rendering.AmbientMode.Skybox;

                mainCamera.cullingMask = originalCullingMask;
            }
            else
            {
                RenderSettings.ambientLight     = originalAmbientLight;
                RenderSettings.fog              = true;
                RenderSettings.ambientMode      = originalAmbientMode;
                RenderSettings.skybox           = originalSkybox;
                RenderSettings.ambientIntensity = originalAmbientIntensity;
                mainCamera.clearFlags           = originalClearFlags;
                LightmapSettings.lightmaps      = originalLightmapData;

                mainCamera.cullingMask = originalCullingMask | 1 << newLayer;
            }
        }
Example #3
0
        void SetTime(EditorTime newTime)
        {
            if (firstTime) {
                Setup();
            }
            currentTime = newTime;

            Debug.Log("LightsOut: Switching to " + newTime + " Mode");

            // Toggle Shaders
            Debug.Log("LightsOut: Updating Shaders");
            shaderManager.SetShaderMode(newTime);

            // Toggle ambient settings
            Debug.Log("LightsOut: Updating Ambient Light and Skybox");
            ambientManager.SetAmbientMode(newTime);

            //toggle VAB/SPH lights
            Debug.Log("LightsOut: Updating VAB/SPH Lights");
            externalLightsManager.SetExternalLightsMode(newTime, FindObjectsOfType(typeof(Light)) as Light[]);

            // Toggle all part lights
            SetPartLights(newTime == EditorTime.Night);

            if (newTime == EditorTime.Night) {
                launcherButton.SetTexture((Texture)GameDatabase.Instance.GetTexture(sunIcon, false));
            }
            else {
                launcherButton.SetTexture((Texture)GameDatabase.Instance.GetTexture(munIcon, false));
            }
        }
Example #4
0
		public void SetExternalLightsMode(EditorTime time, Light[] lights) {
			foreach (Light light in lights) {
				//Debug.Log("Light: " + light.name + ", Parent: " + light.transform.parent.gameObject.name + ", " + light.color + ", Default " + (light.enabled ? "ON" : "OFF"));
				foreach (LightToChange lightToChange in lightsToChange) {
					if (light.name.Equals(lightToChange.name, StringComparison.Ordinal)
					    && light.transform.parent.gameObject.name.Equals(lightToChange.parentName, StringComparison.Ordinal)) {
						light.enabled = (time == EditorTime.Day ? true : false);
                        //Debug.Log("Light: " + light.name + ", Parent: " + light.transform.parent.gameObject.name + ", " + light.color + ", Default " + (light.enabled ? "ON" : "OFF"));
                    }
                }
			}
		}
Example #5
0
 public void SetShaderMode(EditorTime time)
 {
     for (int i = 0; i < originalShaders.Count; i++)
     {
         MaterialTracker material = originalShaders[i];
         if (time == EditorTime.Night)
         {
             material.current.shader = Shader.Find("KSP/Diffuse");
         }
         else
         {
             material.current.shader = material.original.shader;
         }
     }
 }
Example #6
0
        public void SetAmbientMode(EditorTime time)
        {
            if (time == EditorTime.Night) {
                RenderSettings.ambientLight = new Color(0.15f, 0.15f, 0.15f);
                RenderSettings.ambientMode = UnityEngine.Rendering.AmbientMode.Flat;
                RenderSettings.fog = false;
                mainCamera.clearFlags = CameraClearFlags.Nothing;
                LightmapSettings.lightmaps = new LightmapData[] { };

                mainCamera.cullingMask = originalCullingMask;
            }
            else {
                RenderSettings.ambientLight = originalAmbientLight;
                RenderSettings.fog = true;
                RenderSettings.ambientMode = originalAmbientMode;
                RenderSettings.skybox = originalSkybox;
                mainCamera.clearFlags = originalClearFlags;
                LightmapSettings.lightmaps = originalLightmapData;

                mainCamera.cullingMask = originalCullingMask | 1 << newLayer;
            }
        }
Example #7
0
 public void SetExternalLightsMode(EditorTime time, Light[] lights)
 {
     foreach (Light light in lights) {
         //Debug.Log("Light: " + light.name + ", Parent: " + light.transform.parent.gameObject.name + ", " + light.color + ", Default " + (light.enabled ? "ON" : "OFF"));
         foreach (LightToChange lightToChange in lightsToChange) {
             if (light.name.Equals(lightToChange.name, StringComparison.Ordinal)
                 && light.transform.parent.gameObject.name.Equals(lightToChange.parentName, StringComparison.Ordinal)) {
                 light.enabled = (time == EditorTime.Day ? true : false);
             }
         }
     }
 }
Example #8
0
 public void SetShaderMode(EditorTime time)
 {
     for (int i = 0; i < originalShaders.Count; i++) {
         MaterialTracker material = originalShaders[i];
         if (time == EditorTime.Night) {
             material.current.shader = Shader.Find("KSP/Diffuse");
         }
         else {
             material.current.shader = material.original.shader;
         }
     }
 }