public void doDrawGUI() { if (myCameras == null) { myCameras = getDebugCamera.getDebugPanelCameras(); } GameObject mc; if (myCameras.Length == 0) { mc = null; } else { mc = myCameras[0]; } FullScreenEffects fSFX = null; if (mc != null) { fSFX = mc.GetComponent <FullScreenEffects>(); } //######################################################### //# Refresh Camera button # //######################################################### if (GUILayout.Button("Refresh Camera Ref")) { myCameras = getDebugCamera.getDebugPanelCameras(); } //######################################################### //# Ambient Light Colour Picker # //######################################################### Color ambiColour = RenderSettings.ambientLight; ambiColour = ambientLightColour.DrawGUI(ambiColour); RenderSettings.ambientLight = ambiColour; //##################################################### //# Gamma, brightness, contrast # //##################################################### GammaLUT glut = mc.GetComponent <GammaLUT>(); if (glut != null && glut.enabled) { glut.DrawDebugGUI(); } else { GUILayout.Label("Main Camera does not have \nGammaLUT attached/enabled"); } //##################################################### //# Hue, Saturation, Value # //##################################################### ImageShaderScript iss = mc.GetComponent <ImageShaderScript>(); if (iss != null) { iss.DrawDebugGUI(); } else if (fSFX != null && fSFX.enabled) { if (fSFX.mat != null && fSFX.mat.HasProperty("_HsvAdjust")) { Color hsv = fSFX.mat.GetColor("_HsvAdjust"); hsv = hsvColour.DrawGUI(hsv); fSFX.mat.SetColor("_HsvAdjust", hsv); } else { GUILayout.Label("Warning: No _HsvAdjust in camera's shader"); } } //######################################################### //# Grid, blend # //######################################################### foreach (icDebugGUI icdg in otherGlobals) { try { icdg.DrawDebugGUI(); } catch (NullReferenceException) { //icdg script is disabled } } this.propagateCameraChanges(); }