diff --git a/scatterer/Effects/AntiAliasing/GenericAntiAliasing.cs b/scatterer/Effects/AntiAliasing/GenericAntiAliasing.cs index e2151061..1f54a31f 100644 --- a/scatterer/Effects/AntiAliasing/GenericAntiAliasing.cs +++ b/scatterer/Effects/AntiAliasing/GenericAntiAliasing.cs @@ -1,15 +1,4 @@ -using System; -using System.Collections; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.IO; -using System.Reflection; -using System.Runtime; -using KSP; -using KSP.IO; using UnityEngine; -using UnityEngine.Rendering; namespace Scatterer { @@ -18,8 +7,6 @@ public abstract class GenericAntiAliasing : MonoBehaviour public GenericAntiAliasing () { } - - public abstract void Cleanup(); } } diff --git a/scatterer/Effects/AntiAliasing/SubpixelMorphologicalAntialiasing.cs b/scatterer/Effects/AntiAliasing/SubpixelMorphologicalAntialiasing.cs index ddc64b38..00fd85ef 100644 --- a/scatterer/Effects/AntiAliasing/SubpixelMorphologicalAntialiasing.cs +++ b/scatterer/Effects/AntiAliasing/SubpixelMorphologicalAntialiasing.cs @@ -42,7 +42,7 @@ public SubpixelMorphologicalAntialiasing() int width, height; - if (!ReferenceEquals (targetCamera.activeTexture, null)) + if (targetCamera.activeTexture) { width = targetCamera.activeTexture.width; height = targetCamera.activeTexture.height; @@ -75,9 +75,9 @@ public SubpixelMorphologicalAntialiasing() SMAAMaterial = new Material(ShaderReplacer.Instance.LoadedShaders[("Scatterer/SubpixelMorphologicalAntialiasing")]); - if (ReferenceEquals(areaTex,null)) + if (areaTex == null) areaTex = (Texture2D) ShaderReplacer.Instance.LoadedTextures ["AreaTex"]; - if (ReferenceEquals (searchTex, null)) + if (searchTex == null) searchTex = (Texture2D)ShaderReplacer.Instance.LoadedTextures ["SearchTex"]; SMAAMaterial.SetTexture("_AreaTex" , areaTex); @@ -117,20 +117,20 @@ public void OnPreCull() } } - public override void Cleanup() + public void OnDestroy() { SMAAMaterial = null; - if (!ReferenceEquals(SMAACommandBuffer,null)) + if (SMAACommandBuffer !=null) { targetCamera.RemoveCommandBuffer (CameraEvent.AfterForwardAlpha, SMAACommandBuffer); SMAACommandBuffer.Clear(); } - if (!ReferenceEquals (flip, null)) + if (flip) flip.Release (); - if (!ReferenceEquals (flop, null)) + if (flop) flop.Release (); } } diff --git a/scatterer/Effects/AntiAliasing/TemporalAntiAliasing.cs b/scatterer/Effects/AntiAliasing/TemporalAntiAliasing.cs index 5c80ba43..620d33da 100644 --- a/scatterer/Effects/AntiAliasing/TemporalAntiAliasing.cs +++ b/scatterer/Effects/AntiAliasing/TemporalAntiAliasing.cs @@ -3,7 +3,6 @@ namespace Scatterer { - // Not recommended in KSP, setting a custom camera projection matrix in Unity causes shadowmaps to flicker with high far/near clipplanes ratio // Temporal anti-aliasing from Unity post-processing stack V2 // Modified to not blur the ocean, removed dependency on other postprocessing classes I don't need here so we can initialize and make everything work by just adding this to a camera // Generating motion vectors for the ocean is both expensive and unnecessary so we should just not apply TAA on the ocean, otherwise it would just blur it without proper motion vectors @@ -148,7 +147,7 @@ RenderTexture CheckHistory(int id, CommandBuffer cmd) int width, height; - if (!ReferenceEquals (targetCamera.activeTexture, null)) + if (targetCamera.activeTexture) { width = targetCamera.activeTexture.width; height = targetCamera.activeTexture.height; @@ -217,9 +216,9 @@ public void ResetProjection() targetCamera.nonJitteredProjectionMatrix = targetCamera.projectionMatrix; } - public override void Cleanup() + public void OnDestroy() { - if (!ReferenceEquals(temporalAACommandBuffer,null)) + if (temporalAACommandBuffer != null) targetCamera.RemoveCommandBuffer (CameraEvent.AfterForwardAlpha, temporalAACommandBuffer); targetCamera.depthTextureMode = originalDepthTextureMode; diff --git a/scatterer/Effects/PlanetShine/PlanetshineManager.cs b/scatterer/Effects/PlanetShine/PlanetshineManager.cs index a13544e2..8dd2146a 100644 --- a/scatterer/Effects/PlanetShine/PlanetshineManager.cs +++ b/scatterer/Effects/PlanetShine/PlanetshineManager.cs @@ -1,27 +1,16 @@ using System; -using System.Collections; using System.Collections.Generic; using System.Linq; -using System.Text; -using System.IO; -using System.Reflection; -using System.Runtime; -using KSP; -using KSP.IO; using UnityEngine; namespace Scatterer { - public class PlanetshineManager : MonoBehaviour + public class PlanetshineManager { List celestialLightSources=new List {}; Cubemap planetShineCookieCubeMap; public PlanetshineManager () - { - } - - public void Init () { //load planetshine "cookie" cubemap planetShineCookieCubeMap = new Cubemap (512, TextureFormat.ARGB32, true); @@ -54,8 +43,12 @@ public void Init () aPsLight.source = celBody; if (!_aSource.isSun) aPsLight.sunCelestialBody = FlightGlobals.Bodies.SingleOrDefault (_cb => _cb.GetName () == _aSource.mainSunCelestialBody); - GameObject ScaledPlanetShineLight = (UnityEngine.GameObject)Instantiate (Scatterer.Instance.scaledSpaceSunLight.gameObject); - GameObject LocalPlanetShineLight = (UnityEngine.GameObject)Instantiate (Scatterer.Instance.scaledSpaceSunLight.gameObject); + // GameObject ScaledPlanetShineLight = (UnityEngine.GameObject)Instantiate (Scatterer.Instance.scaledSpaceSunLight.gameObject); + // GameObject LocalPlanetShineLight = (UnityEngine.GameObject)Instantiate (Scatterer.Instance.scaledSpaceSunLight.gameObject); + + //TODO: fix this if I ever come back to it + GameObject ScaledPlanetShineLight = new GameObject(); + GameObject LocalPlanetShineLight = new GameObject(); ScaledPlanetShineLight.GetComponent ().type = LightType.Point; if (!_aSource.isSun) ScaledPlanetShineLight.GetComponent ().cookie = planetShineCookieCubeMap; @@ -90,7 +83,7 @@ public void UpdatePlanetshine () } } - public void CleanUp() + public void Cleanup() { foreach (PlanetShineLight _aLight in celestialLightSources) { diff --git a/scatterer/Effects/Proland/Atmosphere/Godrays/GodraysRenderer.cs b/scatterer/Effects/Proland/Atmosphere/Godrays/GodraysRenderer.cs index 3eea5482..885d1c70 100644 --- a/scatterer/Effects/Proland/Atmosphere/Godrays/GodraysRenderer.cs +++ b/scatterer/Effects/Proland/Atmosphere/Godrays/GodraysRenderer.cs @@ -61,7 +61,7 @@ public bool Init(Light inputLight, SkyNode inputParentSkyNode) return false; } - if (ReferenceEquals (inputLight, null)) + if (!inputLight) { Utils.LogError("Godrays light is null, godrays can't be added"); return false; @@ -245,7 +245,7 @@ public void RenderingDone() void OnPreCull() { - if (!ReferenceEquals(parentSkyNode,null) && !parentSkyNode.inScaledSpace) + if (parentSkyNode && !parentSkyNode.inScaledSpace) { EnableRenderingForFrame(); @@ -323,32 +323,32 @@ void OnPreCull() public void OnPostRender() { - if (!ReferenceEquals(parentSkyNode,null)) + if (parentSkyNode) { RenderingDone (); } } - public void Cleanup() + public void OnDestroy() { RenderingDone (); - if (!ReferenceEquals (inverseShadowMatricesBuffer, null)) + if (inverseShadowMatricesBuffer != null) { inverseShadowMatricesBuffer.Dispose(); } - if (!ReferenceEquals (volumeDepthTexture, null)) + if (volumeDepthTexture) { volumeDepthTexture.Release(); } - if (!ReferenceEquals (volumeDepthGO, null)) + if (volumeDepthGO) { DestroyImmediate(volumeDepthGO); } -// if (!ReferenceEquals (cloudShadowGO, null)) +// if (cloudShadowGO) // { // DestroyImmediate(cloudShadowGO); // } diff --git a/scatterer/Effects/Proland/Atmosphere/Preprocessing/AtmoPreprocessor.cs b/scatterer/Effects/Proland/Atmosphere/Preprocessing/AtmoPreprocessor.cs index de86531e..46b0ecb5 100644 --- a/scatterer/Effects/Proland/Atmosphere/Preprocessing/AtmoPreprocessor.cs +++ b/scatterer/Effects/Proland/Atmosphere/Preprocessing/AtmoPreprocessor.cs @@ -38,7 +38,7 @@ public static AtmoPreprocessor Instance { get { - if (ReferenceEquals(instance,null)) + if (instance == null) { instance = new AtmoPreprocessor(); instance.InitMaterials(); @@ -235,15 +235,7 @@ public void Generate(float inRG,float inRT, Vector4 inBETA_R, Vector4 inBETA_MSc Preprocess(assetPath); - m_transmittanceT.Release(); - m_irradianceT[0].Release(); - m_irradianceT[1].Release(); - m_inscatterT[0].Release(); - m_inscatterT[1].Release(); - m_deltaET.Release(); - m_deltaSRT.Release(); - m_deltaSMT.Release(); - m_deltaJT.Release(); + ReleaseTextures(); } void SetParameters(Material mat) @@ -442,7 +434,12 @@ void ProcessInTiles(Action process) } } - void OnDestroy() + public void OnDestroy() + { + ReleaseTextures(); + } + + void ReleaseTextures() { m_transmittanceT.Release(); m_irradianceT[0].Release(); diff --git a/scatterer/Effects/Proland/Atmosphere/SkyNode.cs b/scatterer/Effects/Proland/Atmosphere/SkyNode.cs index b4ef2ad2..8cde0c5e 100644 --- a/scatterer/Effects/Proland/Atmosphere/SkyNode.cs +++ b/scatterer/Effects/Proland/Atmosphere/SkyNode.cs @@ -128,7 +128,7 @@ public void Init () Utils.EnableOrDisableShaderKeywords (localScatteringMaterial, "ECLIPSES_ON", "ECLIPSES_OFF", useEclipses); Utils.EnableOrDisableShaderKeywords (localScatteringMaterial, "DISABLE_UNDERWATER_ON", "DISABLE_UNDERWATER_OFF", prolandManager.hasOcean); - if (Scatterer.Instance.mainSettings.useGodrays && Scatterer.Instance.unifiedCameraMode && !ReferenceEquals (prolandManager.parentCelestialBody.pqsController, null) + if (Scatterer.Instance.mainSettings.useGodrays && Scatterer.Instance.unifiedCameraMode && prolandManager.parentCelestialBody.pqsController && Scatterer.Instance.mainSettings.terrainShadows && (Scatterer.Instance.mainSettings.unifiedCamShadowResolutionOverride != 0)) { godraysRenderer = (GodraysRenderer) Utils.getEarliestLocalCamera().gameObject.AddComponent (typeof(GodraysRenderer)); @@ -150,16 +150,16 @@ public void Init () TweakScaledMesh (); InitScaledScattering (); - if (!ReferenceEquals (prolandManager.parentCelestialBody.pqsController, null)) + if (prolandManager.parentCelestialBody.pqsController) { prolandManager.parentCelestialBody.pqsController.isActive = false; //sometimes the PQS is forgotten as "active" if a ship is loaded directly around another body, this would mess with the mod - //this sets it to false, if it's really active it will be set to active automatically. EVE mod seems also to have a fix for this + //this sets it to false, if it's really active it will be set to active automatically. EVE mod seems also to have a fix for this } if ((HighLogic.LoadedScene != GameScenes.MAINMENU) && (HighLogic.LoadedScene != GameScenes.TRACKSTATION)) // &&useLocalScattering { if (Scatterer.Instance.mainSettings.useDepthBufferMode) - localScatteringContainer = new ScreenSpaceScatteringContainer(localScatteringMaterial, parentLocalTransform, Rt, prolandManager, Scatterer.Instance.mainSettings.quarterResScattering && ReferenceEquals (godraysRenderer, null)); + localScatteringContainer = new ScreenSpaceScatteringContainer(localScatteringMaterial, parentLocalTransform, Rt, prolandManager, Scatterer.Instance.mainSettings.quarterResScattering && godraysRenderer); else localScatteringContainer = new AtmosphereProjectorContainer (localScatteringMaterial, parentLocalTransform, Rt, prolandManager); @@ -256,7 +256,7 @@ public void OnPreRender() public void UpdateGraphicsUniforms() { - if (!inScaledSpace && !MapView.MapIsEnabled && postprocessingEnabled && !ReferenceEquals(localScatteringContainer,null)) + if (!inScaledSpace && !MapView.MapIsEnabled && postprocessingEnabled && localScatteringContainer!=null) { UpdatePostProcessMaterialUniforms (localScatteringContainer.material); } @@ -268,18 +268,18 @@ public void UpdateGraphicsUniforms() { UpdateEVECloudMaterials (); } - if (!ReferenceEquals(Scatterer.Instance.sunflareManager,null)) + if (Scatterer.Instance.sunflareManager) { UpdateSunflareExtinctions (); } - if (!ReferenceEquals(scaledScatteringContainer,null)) + if (scaledScatteringContainer != null) scaledScatteringContainer.MeshRenderer.enabled = stockScaledPlanetMeshRenderer.enabled; - if (!ReferenceEquals (localScatteringContainer, null)) + if (localScatteringContainer != null) { - localScatteringContainer.setInScaledSpace (inScaledSpace); - localScatteringContainer.updateContainer (); + localScatteringContainer.SetInScaledSpace (inScaledSpace); + localScatteringContainer.UpdateContainer (); if (prolandManager.parentCelestialBody.pqsController != null && !Scatterer.Instance.mainSettings.useDepthBufferMode) { @@ -291,10 +291,10 @@ public void UpdateGraphicsUniforms() SetUniforms (skyMaterial); SetUniforms (scaledScatteringMaterial); - if (!ReferenceEquals (sunflareExtinctionMaterial, null)) + if (sunflareExtinctionMaterial) SetUniforms (sunflareExtinctionMaterial); - if (!ReferenceEquals (scaledEclipseMaterial, null)) + if (scaledEclipseMaterial) { scaledEclipseMaterial.SetVector (ShaderProperties._Sun_WorldSunDir_PROPERTY, prolandManager.getDirectionToMainSun ()); @@ -352,12 +352,12 @@ public void SwitchEffectsScaled() { Utils.LogInfo ("Skynode switch effects to scaled mode: "+prolandManager.parentCelestialBody.name); - if (!ReferenceEquals(skySphere,null)) + if (skySphere != null) skySphere.SwitchScaledMode (); - if (!ReferenceEquals(scaledScatteringContainer,null)) + if (scaledScatteringContainer != null) scaledScatteringContainer.SwitchScaledMode (); - if (!ReferenceEquals(localScatteringContainer,null)) - localScatteringContainer.setActivated(false); + if (localScatteringContainer != null) + localScatteringContainer.SetActivated(false); EVEvolumetrics.Clear(); } @@ -365,12 +365,12 @@ public void SwitchEffectsLocal() { Utils.LogInfo ("Skynode switch effects to local mode "+prolandManager.parentCelestialBody.name); - if (!ReferenceEquals(skySphere,null)) + if (skySphere != null) skySphere.SwitchLocalMode(); - if (!ReferenceEquals(scaledScatteringContainer,null)) + if (scaledScatteringContainer != null) scaledScatteringContainer.SwitchLocalMode (); - if (!ReferenceEquals(localScatteringContainer,null)) - localScatteringContainer.setActivated(true); + if (localScatteringContainer != null) + localScatteringContainer.SetActivated(true); if (Scatterer.Instance.mainSettings.integrateWithEVEClouds && usesCloudIntegration) { @@ -415,7 +415,7 @@ public void SetUniforms (Material mat) mat.SetVector(ShaderProperties.ringNormal_PROPERTY, ringObject.transform.up); } - if (!ReferenceEquals (godraysRenderer, null)) + if (godraysRenderer) { mat.SetFloat(ShaderProperties._godrayStrength_PROPERTY, godrayStrength); } @@ -493,11 +493,11 @@ public void InitPostprocessMaterialUniforms (Material mat) mat.SetFloat(ShaderProperties._ScattererCameraOverlap_PROPERTY,camerasOverlap); - if (!ReferenceEquals (godraysRenderer, null)) + if (godraysRenderer) { mat.SetTexture(ShaderProperties._godrayDepthTexture_PROPERTY,godraysRenderer.volumeDepthTexture); } - Utils.EnableOrDisableShaderKeywords (mat, "GODRAYS_ON", "GODRAYS_OFF", !ReferenceEquals (godraysRenderer, null)); + Utils.EnableOrDisableShaderKeywords (mat, "GODRAYS_ON", "GODRAYS_OFF", godraysRenderer!=null); mat.SetInt ("TONEMAPPING_MODE", Scatterer.Instance.mainSettings.scatteringTonemapper); } @@ -532,7 +532,7 @@ public void UpdatePostProcessMaterialUniforms (Material mat) mat.SetMatrix (ShaderProperties.cloudPlanetShineRGB_PROPERTY, prolandManager.cloudIntegrationUsesScattererSunColors ? prolandManager.planetShineRGBMatrix : prolandManager.planetShineOriginalRGBMatrix ); } - if (!ReferenceEquals (godraysRenderer, null)) + if (godraysRenderer) { mat.SetFloat(ShaderProperties._godrayStrength_PROPERTY, godrayStrength); } @@ -589,11 +589,11 @@ public void InitUniforms (Material mat) mat.SetColor (ShaderProperties._sunColor_PROPERTY, prolandManager.getIntensityModulatedSunColor()); mat.SetColor (ShaderProperties.cloudSunColor_PROPERTY, prolandManager.cloudIntegrationUsesScattererSunColors ? prolandManager.getIntensityModulatedSunColor() : prolandManager.mainScaledSunLight.color * prolandManager.mainScaledSunLight.intensity); - if (!ReferenceEquals (godraysRenderer, null)) + if (godraysRenderer) { mat.SetTexture(ShaderProperties._godrayDepthTexture_PROPERTY,godraysRenderer.volumeDepthTexture); } - Utils.EnableOrDisableShaderKeywords (mat, "GODRAYS_ON", "GODRAYS_OFF", !ReferenceEquals (godraysRenderer, null)); + Utils.EnableOrDisableShaderKeywords (mat, "GODRAYS_ON", "GODRAYS_OFF", godraysRenderer != null); mat.SetInt ("TONEMAPPING_MODE", Scatterer.Instance.mainSettings.scatteringTonemapper); } @@ -664,15 +664,15 @@ public void ApplyAtmoFromUI(Vector4 inBETA_R, Vector4 inBETA_MSca, float inMIE_G void ReinitAllMaterials() { - if (!ReferenceEquals(scaledEclipseMaterial,null)) + if (scaledEclipseMaterial) InitUniforms(scaledEclipseMaterial); - if (!ReferenceEquals(skyMaterial,null)) //need also here to resize the sky sphere thingy + if (skyMaterial) InitUniforms(skyMaterial); - if (!ReferenceEquals(scaledScatteringMaterial,null)) + if (scaledScatteringMaterial) InitUniforms(scaledScatteringMaterial); - if (!ReferenceEquals(sunflareExtinctionMaterial,null)) + if (sunflareExtinctionMaterial) InitUniforms(sunflareExtinctionMaterial); - if (!ReferenceEquals(localScatteringMaterial,null)) + if (localScatteringMaterial) InitPostprocessMaterialUniforms(localScatteringMaterial); ReInitMaterialUniformsOnRenderTexturesLoss (); @@ -692,15 +692,15 @@ void ReinitAllMaterials() } } - if (!ReferenceEquals(prolandManager.GetOceanNode(),null)) + if (prolandManager.GetOceanNode()) { - if (!ReferenceEquals(prolandManager.GetOceanNode().m_oceanMaterial,null)) + if (prolandManager.GetOceanNode().m_oceanMaterial) { InitUniforms (prolandManager.GetOceanNode().m_oceanMaterial); InitPostprocessMaterialUniforms (prolandManager.GetOceanNode().m_oceanMaterial); } - if (!ReferenceEquals(prolandManager.GetOceanNode().underwaterMaterial,null)) + if (prolandManager.GetOceanNode().underwaterMaterial) { InitPostprocessMaterialUniforms (prolandManager.GetOceanNode().underwaterMaterial); } @@ -713,7 +713,7 @@ void ReinitAllMaterials() // //} - public void Cleanup () + public void OnDestroy() { try {StopAllCoroutines ();} catch (Exception){} @@ -733,24 +733,23 @@ public void Cleanup () UnityEngine.Object.DestroyImmediate (m_inscatter); } - if (!ReferenceEquals (skySphere, null)) + if (skySphere != null) { skySphere.Cleanup (); } - if (!ReferenceEquals (scaledScatteringContainer, null)) + if (scaledScatteringContainer != null) { scaledScatteringContainer.Cleanup (); } - if (!ReferenceEquals (localScatteringContainer, null)) + if (localScatteringContainer != null) { - localScatteringContainer.OnDestroy(); + localScatteringContainer.Cleanup(); } - if (!ReferenceEquals (godraysRenderer, null)) + if (godraysRenderer) { - godraysRenderer.Cleanup(); Component.DestroyImmediate(godraysRenderer); } @@ -791,7 +790,7 @@ public void Cleanup () } } - if (!ReferenceEquals(originalScaledMesh,null)) + if (originalScaledMesh) parentScaledTransform.GetComponent ().sharedMesh = originalScaledMesh; RestoreStockScaledTexture (); @@ -912,7 +911,7 @@ IEnumerator DelayedTweakStockPlanet() { while (true) { - if (!ReferenceEquals(stockScaledPlanetMeshRenderer.sharedMaterial.GetTexture("_MainTex"),null)) + if (stockScaledPlanetMeshRenderer.sharedMaterial.GetTexture("_MainTex")) { if (adjustScaledTexture) TweakStockScaledTexture (); @@ -932,7 +931,7 @@ IEnumerator CheckOnDemandUnload() { while (true) { - if (ReferenceEquals(stockScaledPlanetMeshRenderer.sharedMaterial.GetTexture("_MainTex"),null)) + if (stockScaledPlanetMeshRenderer.sharedMaterial.GetTexture("_MainTex") == null) break; yield return new WaitForSeconds(3f); @@ -948,7 +947,7 @@ IEnumerator CheckOnDemandUnload() if (useEclipses) { // Split the main pass and the additive light passes into separate materials with different renderqueues so we can inject eclipses after the first pass, and make it apply only to the main pass - if (ReferenceEquals(parentScaledTransform.GetComponent(),null)) + if (parentScaledTransform.GetComponent() == null) { List materialsNoCityLights = new List(materials); materialsNoCityLights.RemoveAll(x => x.shader.name == "EVE/PlanetCityLight"); @@ -998,7 +997,7 @@ IEnumerator CheckOnDemandUnload() } } - if (!ReferenceEquals (prolandManager.parentCelestialBody.pqsController, null)) + if (prolandManager.parentCelestialBody.pqsController) { Utils.EnableOrDisableShaderKeywords(prolandManager.parentCelestialBody.pqsController.surfaceMaterial,"AERIAL_ON", "AERIAL_OFF", false); Utils.EnableOrDisableShaderKeywords(prolandManager.parentCelestialBody.pqsController.fallbackMaterial,"AERIAL_ON", "AERIAL_OFF", false); @@ -1017,12 +1016,11 @@ IEnumerator CheckOnDemandUnload() { if (sharedMaterial.shader.name.Contains("Terrain/Scaled Planet (RimAerial)")) { - if (ReferenceEquals(originalPlanetTexture,null)) + if (!originalPlanetTexture) originalPlanetTexture = sharedMaterial.GetTexture("_MainTex"); - - if (!ReferenceEquals(originalPlanetTexture,null)) + else { - if (ReferenceEquals(adjustedPlanetTexture,null)) + if (!adjustedPlanetTexture) { adjustedPlanetTexture = new RenderTexture(originalPlanetTexture.width, originalPlanetTexture.height, 0, RenderTextureFormat.ARGB32); adjustedPlanetTexture.name = "ScattererAdjustedPlanetMap"; @@ -1050,7 +1048,7 @@ IEnumerator CheckOnDemandUnload() public void RestoreStockScaledTexture () //move to utils/scaledUtils etc { - if (!ReferenceEquals (originalPlanetTexture, null)) + if (originalPlanetTexture) { List materials = new List(stockScaledPlanetMeshRenderer.sharedMaterials); @@ -1063,7 +1061,7 @@ IEnumerator CheckOnDemandUnload() } } - if (!ReferenceEquals (adjustedPlanetTexture, null)) + if (adjustedPlanetTexture) { adjustedPlanetTexture.Release(); } @@ -1071,7 +1069,7 @@ IEnumerator CheckOnDemandUnload() public void TweakScaledMesh() //move to utils/scaledUtils etc { - if (ReferenceEquals (originalScaledMesh, null)) + if (!originalScaledMesh) { originalScaledMesh = parentScaledTransform.GetComponent ().sharedMesh; } @@ -1147,7 +1145,7 @@ void UpdateLightExtinctions () foreach(SecondarySun secondarySun in prolandManager.secondarySuns) { - if (!ReferenceEquals(secondarySun.sunLight, null)) + if (secondarySun.sunLight) { extinction = AtmosphereUtils.getExtinction (extinctionPosition, (secondarySun.celestialBody.GetTransform().position - prolandManager.parentCelestialBody.GetTransform().position).normalized, Rt, Rg * atmosphereStartRadiusScale, HR*1000f, HM*1000f, m_betaR / 1000f, BETA_MSca / 1000f / 0.9f); extinction = Color.Lerp(Color.white, extinction, interpolatedSettings.extinctionThickness); //consider getting rid of extinction thickness and tint now @@ -1246,7 +1244,7 @@ void InitKopernicusRings () public void InitEVEClouds() { - if (!ReferenceEquals (Scatterer.Instance.eveReflectionHandler.EVEinstance, null) && Scatterer.Instance.eveReflectionHandler.EVEClouds2dDictionary.ContainsKey(celestialBodyName)) + if ((Scatterer.Instance.eveReflectionHandler.EVEinstance != null) && Scatterer.Instance.eveReflectionHandler.EVEClouds2dDictionary.ContainsKey(celestialBodyName)) { try { @@ -1351,7 +1349,7 @@ public void TogglePreserveCloudColors() //to be called on loss of rendertextures, ie alt-enter public void ReInitMaterialUniformsOnRenderTexturesLoss() { - if (!ReferenceEquals (localScatteringContainer, null)) + if (localScatteringContainer != null) { InitPostprocessMaterialUniforms (localScatteringContainer.material); } diff --git a/scatterer/Effects/Proland/Atmosphere/Utils/AtmosphereProjectorContainer.cs b/scatterer/Effects/Proland/Atmosphere/Utils/AtmosphereProjectorContainer.cs index 427cdaad..802e2ace 100644 --- a/scatterer/Effects/Proland/Atmosphere/Utils/AtmosphereProjectorContainer.cs +++ b/scatterer/Effects/Proland/Atmosphere/Utils/AtmosphereProjectorContainer.cs @@ -30,24 +30,21 @@ public AtmosphereProjectorContainer (Material atmosphereMaterial, Transform pare projector.material.CopyKeywordsFrom (atmosphereMaterial); } - public override void updateContainer () + public override void UpdateContainer () { bool isEnabled = !underwater && !inScaledSpace && activated; projector.enabled = isEnabled; scatteringGO.SetActive(isEnabled); } - public override void OnDestroy () + public override void Cleanup () { - setActivated (false); - if(!ReferenceEquals(scatteringGO,null)) + SetActivated (false); + if(scatteringGO) { - if(!ReferenceEquals(scatteringGO.transform,null)) + if(scatteringGO.transform && scatteringGO.transform.parent) { - if(!ReferenceEquals(scatteringGO.transform.parent,null)) - { scatteringGO.transform.parent = null; - } } Component.Destroy(projector); diff --git a/scatterer/Effects/Proland/Atmosphere/Utils/GenericLocalAtmosphereContainer.cs b/scatterer/Effects/Proland/Atmosphere/Utils/GenericLocalAtmosphereContainer.cs index 335f3aa7..222a097d 100644 --- a/scatterer/Effects/Proland/Atmosphere/Utils/GenericLocalAtmosphereContainer.cs +++ b/scatterer/Effects/Proland/Atmosphere/Utils/GenericLocalAtmosphereContainer.cs @@ -25,23 +25,23 @@ public GenericLocalAtmosphereContainer (Material atmosphereMaterial, Transform p manager = parentManager; } - public void setActivated (bool pEnabled) + public void SetActivated (bool pEnabled) { activated = pEnabled; } - public void setInScaledSpace (bool pInScaledSpace) + public void SetInScaledSpace (bool pInScaledSpace) { inScaledSpace = pInScaledSpace; } - public void setUnderwater (bool pUnderwater) + public void SetUnderwater (bool pUnderwater) { underwater = pUnderwater; } - public abstract void updateContainer (); + public abstract void UpdateContainer (); - public abstract void OnDestroy (); + public abstract void Cleanup (); } } \ No newline at end of file diff --git a/scatterer/Effects/Proland/Atmosphere/Utils/ScreenSpaceScatteringContainer.cs b/scatterer/Effects/Proland/Atmosphere/Utils/ScreenSpaceScatteringContainer.cs index 31e7c474..7cf1abd8 100644 --- a/scatterer/Effects/Proland/Atmosphere/Utils/ScreenSpaceScatteringContainer.cs +++ b/scatterer/Effects/Proland/Atmosphere/Utils/ScreenSpaceScatteringContainer.cs @@ -89,17 +89,15 @@ void OnWillRenderObject() } } - public void Cleanup() + public void OnDestroy() { - foreach (var camBuffer in cameraToScatteringCommandBuffer) + foreach (var scatteringCommandBuffer in cameraToScatteringCommandBuffer.Values) { - if (!ReferenceEquals(camBuffer.Value,null)) + if (scatteringCommandBuffer) { - camBuffer.Value.Cleanup(); - Component.DestroyImmediate(camBuffer.Value); + Component.DestroyImmediate(scatteringCommandBuffer); } } - } } @@ -143,7 +141,7 @@ public void Initialize(bool inHasOcean, bool quarterRes) int width, height; - if (!ReferenceEquals (targetCamera.activeTexture, null)) + if (targetCamera.activeTexture) { width = targetCamera.activeTexture.width / 2; height = targetCamera.activeTexture.height / 2; @@ -231,21 +229,21 @@ void OnPostRender() } } - public void Cleanup () + public void OnDestroy () { - if (targetCamera && !ReferenceEquals(rendererCommandBuffer,null)) + if (targetCamera && rendererCommandBuffer != null) { targetCamera.RemoveCommandBuffer (CameraEvent.BeforeForwardAlpha, rendererCommandBuffer); rendererCommandBuffer = null; renderingEnabled = true; - if (!ReferenceEquals(downscaledDepthRenderTexture,null)) + if (downscaledDepthRenderTexture) downscaledDepthRenderTexture.Release(); - if (!ReferenceEquals(downscaledRenderTexture0,null)) + if (downscaledRenderTexture0) downscaledRenderTexture0.Release(); - if (!ReferenceEquals(downscaledRenderTexture1,null)) + if (downscaledRenderTexture1) downscaledRenderTexture1.Release(); } } @@ -283,31 +281,24 @@ public ScreenSpaceScatteringContainer (Material atmosphereMaterial, Transform pa screenSpaceScattering.Init(quarterRes); } - public override void updateContainer () + public override void UpdateContainer () { bool isEnabled = !underwater && !inScaledSpace && activated; screenSpaceScattering.SetActive(isEnabled); scatteringGO.SetActive(isEnabled); } - public override void OnDestroy () + public override void Cleanup () { - setActivated (false); - if(!ReferenceEquals(scatteringGO,null)) + SetActivated (false); + if(scatteringGO) { - if(!ReferenceEquals(scatteringGO.transform,null)) + if(scatteringGO.transform && scatteringGO.transform.parent) { - if(!ReferenceEquals(scatteringGO.transform.parent,null)) - { scatteringGO.transform.parent = null; - } } - - screenSpaceScattering.Cleanup(); Component.DestroyImmediate(screenSpaceScattering); GameObject.DestroyImmediate(scatteringGO); - screenSpaceScattering = null; - scatteringGO = null; } } } diff --git a/scatterer/Effects/Proland/Atmosphere/Utils/SkySphereContainer.cs b/scatterer/Effects/Proland/Atmosphere/Utils/SkySphereContainer.cs index 0d1403c6..0efd295a 100644 --- a/scatterer/Effects/Proland/Atmosphere/Utils/SkySphereContainer.cs +++ b/scatterer/Effects/Proland/Atmosphere/Utils/SkySphereContainer.cs @@ -85,7 +85,7 @@ public void SwitchScaledMode() var scrCopy = skySphereGO.GetComponent (); - if (!ReferenceEquals (null, scrCopy)) + if (scrCopy) UnityEngine.Component.DestroyImmediate (scrCopy); } diff --git a/scatterer/Effects/Proland/Ocean/Caustics/CausticsLightRaysRenderer.cs b/scatterer/Effects/Proland/Ocean/Caustics/CausticsLightRaysRenderer.cs index c4a25d81..e5c31f98 100644 --- a/scatterer/Effects/Proland/Ocean/Caustics/CausticsLightRaysRenderer.cs +++ b/scatterer/Effects/Proland/Ocean/Caustics/CausticsLightRaysRenderer.cs @@ -33,7 +33,7 @@ public CausticsLightRaysRenderer () } else { - if (ReferenceEquals (CausticsLightRaysMaterial, null)) { + if (CausticsLightRaysMaterial == null) { CausticsLightRaysMaterial = new Material (ShaderReplacer.Instance.LoadedShaders [("Scatterer/CausticsGodraysRaymarch")]); } @@ -134,7 +134,7 @@ public void Init(OceanNode oceanNodeIn) { targetCamera = GetComponent(); - if (!ReferenceEquals (targetCamera.targetTexture, null)) + if (targetCamera.targetTexture) { targetRT = new RenderTexture (targetCamera.targetTexture.width / 4, targetCamera.targetTexture.height / 4, 0, RenderTextureFormat.R8); } @@ -246,7 +246,7 @@ public void OnPostRender() public void CleanUp() { renderingEnabled = false; - if (!ReferenceEquals(commandBuffer,null)) + if (commandBuffer != null) { if (targetCamera) { diff --git a/scatterer/Effects/Proland/Ocean/Caustics/CausticsShadowMaskModulate.cs b/scatterer/Effects/Proland/Ocean/Caustics/CausticsShadowMaskModulate.cs index f6df2949..89202a53 100644 --- a/scatterer/Effects/Proland/Ocean/Caustics/CausticsShadowMaskModulate.cs +++ b/scatterer/Effects/Proland/Ocean/Caustics/CausticsShadowMaskModulate.cs @@ -35,7 +35,7 @@ public CausticsShadowMaskModulate () } else { - if (ReferenceEquals (CausticsShadowMaskModulateMaterial, null)) { + if (!CausticsShadowMaskModulateMaterial) { CausticsShadowMaskModulateMaterial = new Material (ShaderReplacer.Instance.LoadedShaders [("Scatterer/CausticsOcclusion")]); } @@ -96,7 +96,7 @@ public void UpdateCaustics() public void RemoveCommandBuffer () { - if (!ReferenceEquals(sunLight,null)) + if (sunLight) sunLight.RemoveCommandBuffer (LightEvent.AfterScreenspaceMask, m_Buffer); commandBufferAdded = false; } diff --git a/scatterer/Effects/Proland/Ocean/GPUWaveInteractionHandler.cs b/scatterer/Effects/Proland/Ocean/GPUWaveInteractionHandler.cs index 29fb78b3..0efd3c79 100644 --- a/scatterer/Effects/Proland/Ocean/GPUWaveInteractionHandler.cs +++ b/scatterer/Effects/Proland/Ocean/GPUWaveInteractionHandler.cs @@ -143,7 +143,7 @@ void BuildPartsPositionsList(List positionsList, List par { foreach (Part part in vessel.parts) { - if (!ReferenceEquals(part.partBuoyancy, null)) + if (part.partBuoyancy) { //To be more accurate I'd need to take ceter of buoyancy and transform it to worldPos but that would add a matrix multiply for every part, which I'm not about to do Vector3 relativePartPos = part.transform.position - Scatterer.Instance.nearCamera.transform.position; @@ -174,11 +174,11 @@ float ApplyWaterLevelHeights(float waterHeightAtCameraPosition) waterHeightAtCameraPosition = heights[heights.Length - 1]; } - if (!ReferenceEquals(partsBuoyancies, null)) + if (partsBuoyancies!=null) { for (int i = 0; i < partsBuoyancies.Count; i++) { - if (!ReferenceEquals(partsBuoyancies[i], null)) + if (partsBuoyancies[i] != null) { partsBuoyancies[i].waterLevel = heights[i]; } diff --git a/scatterer/Effects/Proland/Ocean/OceanCameraUpdateHook.cs b/scatterer/Effects/Proland/Ocean/OceanCameraUpdateHook.cs index 08e610ec..17d94ea6 100644 --- a/scatterer/Effects/Proland/Ocean/OceanCameraUpdateHook.cs +++ b/scatterer/Effects/Proland/Ocean/OceanCameraUpdateHook.cs @@ -1,15 +1,5 @@ using UnityEngine; -using System.Collections; -using System.IO; - using System; -using System.Collections.Generic; -using System.Linq; -using System.Reflection; -using System.Text; -using UnityEngine.Rendering; - -using KSP.IO; namespace Scatterer { @@ -252,14 +242,14 @@ public void updateCameraSpecificUniforms (Material oceanMaterial, Camera inCamer worldToLightMatrix.m23 = oceanNode.prolandManager.parentCelestialBody.transform.position.z; } - if (!ReferenceEquals (oceanNode.causticsShadowMaskModulator, null)) + if (oceanNode.causticsShadowMaskModulator) { oceanNode.causticsShadowMaskModulator.CausticsShadowMaskModulateMaterial.SetMatrix (ShaderProperties.CameraToWorld_PROPERTY, inCamera.cameraToWorldMatrix); oceanNode.causticsShadowMaskModulator.CausticsShadowMaskModulateMaterial.SetMatrix (ShaderProperties.WorldToLight_PROPERTY, worldToLightMatrix); oceanNode.causticsShadowMaskModulator.CausticsShadowMaskModulateMaterial.SetVector (ShaderProperties.PlanetOrigin_PROPERTY, oceanNode.prolandManager.parentLocalTransform.position); } - if (!ReferenceEquals (oceanNode.causticsLightRaysRenderer, null)) + if (oceanNode.causticsLightRaysRenderer) { oceanNode.causticsLightRaysRenderer.CausticsLightRaysMaterial.SetMatrix (ShaderProperties.CameraToWorld_PROPERTY, inCamera.cameraToWorldMatrix); oceanNode.causticsLightRaysRenderer.CausticsLightRaysMaterial.SetMatrix (ShaderProperties.WorldToLight_PROPERTY, worldToLightMatrix); diff --git a/scatterer/Effects/Proland/Ocean/OceanFFTcpu.cs b/scatterer/Effects/Proland/Ocean/OceanFFTcpu.cs index b322873d..054920b4 100644 --- a/scatterer/Effects/Proland/Ocean/OceanFFTcpu.cs +++ b/scatterer/Effects/Proland/Ocean/OceanFFTcpu.cs @@ -464,7 +464,7 @@ public void FixedUpdate() { foreach (Part part in vessel.parts) { - if (!ReferenceEquals (part.partBuoyancy, null)) + if (part.partBuoyancy) { Vector3 relativePartPos = part.partBuoyancy.transform.position-Scatterer.Instance.nearCamera.transform.position; @@ -482,9 +482,9 @@ public void FixedUpdate() } } - public override void Cleanup() + public override void OnDestroy() { - base.Cleanup(); + base.OnDestroy(); m_map0.Release(); m_map1.Release(); diff --git a/scatterer/Effects/Proland/Ocean/OceanFFTgpu.cs b/scatterer/Effects/Proland/Ocean/OceanFFTgpu.cs index cf755fc0..3270ed9e 100644 --- a/scatterer/Effects/Proland/Ocean/OceanFFTgpu.cs +++ b/scatterer/Effects/Proland/Ocean/OceanFFTgpu.cs @@ -278,9 +278,9 @@ public override void UpdateNode() base.UpdateNode(); } - public override void Cleanup() + public override void OnDestroy() { - base.Cleanup(); + base.OnDestroy(); m_map0.Release(); m_map1.Release(); diff --git a/scatterer/Effects/Proland/Ocean/OceanNode.cs b/scatterer/Effects/Proland/Ocean/OceanNode.cs index 3f02bc68..9f0b58eb 100644 --- a/scatterer/Effects/Proland/Ocean/OceanNode.cs +++ b/scatterer/Effects/Proland/Ocean/OceanNode.cs @@ -159,7 +159,7 @@ public virtual void Init (ProlandManager manager) if (Scatterer.Instance.mainSettings.shadowsOnOcean) { ShadowMapRetrieveCommandBuffer retriever = prolandManager.mainSunLight.gameObject.GetComponent(); - if (ReferenceEquals(retriever,null)) + if (!retriever) prolandManager.mainSunLight.gameObject.AddComponent (typeof(ShadowMapRetrieveCommandBuffer)); } @@ -170,9 +170,9 @@ public virtual void Init (ProlandManager manager) else underwaterScattering = new AtmosphereProjectorContainer(underwaterMaterial,prolandManager.parentLocalTransform,(float)prolandManager.m_radius, prolandManager); - underwaterScattering.setInScaledSpace(false); - underwaterScattering.setActivated(false); - underwaterScattering.updateContainer (); + underwaterScattering.SetInScaledSpace(false); + underwaterScattering.SetActivated(false); + underwaterScattering.UpdateContainer (); //dimming //TODO: maybe this can be changed, instead of complicated hooks on the Camera, add it to the light, like causticsShadowMaskModulate? @@ -217,14 +217,14 @@ public virtual void UpdateNode () isUnderwater = height < waterHeightAtCameraPosition; - underwaterScattering.setActivated(isUnderwater); + underwaterScattering.SetActivated(isUnderwater); if (underwaterMode ^ isUnderwater) { toggleUnderwaterMode(); } - if (!ReferenceEquals (causticsShadowMaskModulator, null)) + if (causticsShadowMaskModulator) { causticsShadowMaskModulator.isEnabled = oceanDraw && (prolandManager.GetSkyNode().altitude < 6000f); causticsShadowMaskModulator.UpdateCaustics (); @@ -343,7 +343,7 @@ void InitOceanMaterial () else { m_oceanMaterial.DisableKeyword("DEPTH_BUFFER_MODE_ON"); - if (!ReferenceEquals (prolandManager.skyNode.godraysRenderer, null)) + if (prolandManager.skyNode.godraysRenderer) { m_oceanMaterial.EnableKeyword("PROJECTOR_MODE_GODRAYS"); m_oceanMaterial.DisableKeyword("PROJECTOR_MODE"); @@ -413,72 +413,69 @@ void toggleUnderwaterMode() { if (underwaterMode) //switch to over water { - underwaterScattering.setActivated(false); - underwaterScattering.updateContainer (); + underwaterScattering.SetActivated(false); + underwaterScattering.UpdateContainer (); m_oceanMaterial.EnableKeyword("UNDERWATER_OFF"); m_oceanMaterial.DisableKeyword("UNDERWATER_ON"); - if (!ReferenceEquals(prolandManager.GetSkyNode().localScatteringContainer,null)) - prolandManager.GetSkyNode().localScatteringContainer.setUnderwater(false); + if (prolandManager.GetSkyNode().localScatteringContainer!=null) + prolandManager.GetSkyNode().localScatteringContainer.SetUnderwater(false); } else //switch to underwater { - underwaterScattering.setActivated(true); - underwaterScattering.updateContainer (); + underwaterScattering.SetActivated(true); + underwaterScattering.UpdateContainer (); m_oceanMaterial.EnableKeyword("UNDERWATER_ON"); m_oceanMaterial.DisableKeyword("UNDERWATER_OFF"); - if (!ReferenceEquals(prolandManager.GetSkyNode().localScatteringContainer,null)) - prolandManager.GetSkyNode().localScatteringContainer.setUnderwater(true); + if (prolandManager.GetSkyNode().localScatteringContainer!=null) + prolandManager.GetSkyNode().localScatteringContainer.SetUnderwater(true); } underwaterMode = !underwaterMode; } - public virtual void Cleanup () + public virtual void OnDestroy () { if (oceanCameraProjectionMatModifier) { - oceanCameraProjectionMatModifier.OnDestroy (); Component.Destroy (oceanCameraProjectionMatModifier); UnityEngine.Object.Destroy (oceanCameraProjectionMatModifier); } for (int i = 0; i < numGrids; i++) { - Destroy(waterGameObjects[i]); - Component.Destroy(waterMeshFilters[i]); - Component.Destroy(waterMeshRenderers[i]); + DestroyImmediate(waterGameObjects[i]); + Component.DestroyImmediate(waterMeshFilters[i]); + Component.DestroyImmediate(waterMeshRenderers[i]); - UnityEngine.Object.Destroy (m_screenGrids [i]); + UnityEngine.Object.DestroyImmediate(m_screenGrids [i]); } - UnityEngine.Object.Destroy (m_oceanMaterial); - UnityEngine.Object.Destroy (underwaterMaterial); + UnityEngine.Object.DestroyImmediate(m_oceanMaterial); + UnityEngine.Object.DestroyImmediate(underwaterMaterial); if (underwaterDimmingHook) - Component.Destroy (underwaterDimmingHook); + Component.DestroyImmediate(underwaterDimmingHook); - if (!ReferenceEquals(null,underwaterScattering)) + if (underwaterScattering!=null) { - underwaterScattering.OnDestroy(); + underwaterScattering.Cleanup(); } - if (!ReferenceEquals(null,causticsShadowMaskModulator)) + if (causticsShadowMaskModulator) { - causticsShadowMaskModulator.OnDestroy(); - UnityEngine.Object.Destroy (causticsShadowMaskModulator); + UnityEngine.Object.DestroyImmediate (causticsShadowMaskModulator); } - if (!ReferenceEquals(null,causticsLightRaysRenderer)) + if (causticsLightRaysRenderer) { - causticsLightRaysRenderer.OnDestroy(); - UnityEngine.Object.Destroy (causticsLightRaysRenderer); + UnityEngine.Object.DestroyImmediate(causticsLightRaysRenderer); } - if (!ReferenceEquals (null, oceanRenderingHook)) + if (oceanRenderingHook) { - Component.Destroy(oceanRenderingHook); + Component.DestroyImmediate(oceanRenderingHook); } } @@ -565,8 +562,7 @@ public void loadFromConfigNode () (Scatterer.Instance.planetsConfigsReader.scattererCelestialBodies.Find(_cb => _cb.celestialBodyName == prolandManager.parentCelestialBody.name)).hasOcean = false; - this.Cleanup(); - UnityEngine.Object.Destroy (this); + UnityEngine.Component.DestroyImmediate (this); } } diff --git a/scatterer/Effects/Proland/Ocean/OceanRenderingHook.cs b/scatterer/Effects/Proland/Ocean/OceanRenderingHook.cs index 7f36a458..ae878ef0 100644 --- a/scatterer/Effects/Proland/Ocean/OceanRenderingHook.cs +++ b/scatterer/Effects/Proland/Ocean/OceanRenderingHook.cs @@ -72,8 +72,8 @@ public void OnDestroy () { foreach (OceanCommandBuffer oceanCommandBuffer in cameraToOceanCommandBuffer.Values) { - if (!ReferenceEquals(oceanCommandBuffer,null)) - Component.Destroy(oceanCommandBuffer); + if (oceanCommandBuffer) + Component.DestroyImmediate(oceanCommandBuffer); } } } @@ -110,7 +110,7 @@ public void Initialize() int width, height; - if (!ReferenceEquals (targetCamera.activeTexture, null)) + if (targetCamera.activeTexture) { width = targetCamera.activeTexture.width; height = targetCamera.activeTexture.height; @@ -185,14 +185,14 @@ void OnPostRender() public void OnDestroy () { - if (targetCamera && !ReferenceEquals(rendererCommandBuffer,null)) + if (targetCamera && rendererCommandBuffer != null) { targetCamera.RemoveCommandBuffer (CameraEvent.AfterImageEffectsOpaque, rendererCommandBuffer); - if (!ReferenceEquals(depthCopyRenderTexture,null)) + if (depthCopyRenderTexture) depthCopyRenderTexture.Release(); - if (!ReferenceEquals(oceanRenderTexture,null)) + if (oceanRenderTexture) oceanRenderTexture.Release(); renderingEnabled = false; diff --git a/scatterer/Effects/Proland/Ocean/OceanWhiteCaps.cs b/scatterer/Effects/Proland/Ocean/OceanWhiteCaps.cs index 326efe04..94291a96 100644 --- a/scatterer/Effects/Proland/Ocean/OceanWhiteCaps.cs +++ b/scatterer/Effects/Proland/Ocean/OceanWhiteCaps.cs @@ -58,9 +58,9 @@ protected override void CreateRenderTextures() base.CreateRenderTextures(); } - public override void Cleanup() + public override void OnDestroy() { - base.Cleanup(); + base.OnDestroy(); m_foam0.Release(); m_foam1.Release(); diff --git a/scatterer/Effects/Proland/Ocean/Utils/OceanUtils.cs b/scatterer/Effects/Proland/Ocean/Utils/OceanUtils.cs index d8f6a1da..4638e167 100644 --- a/scatterer/Effects/Proland/Ocean/Utils/OceanUtils.cs +++ b/scatterer/Effects/Proland/Ocean/Utils/OceanUtils.cs @@ -88,10 +88,10 @@ public static void restoreOceanForBody(ScattererCelestialBody sctBody) if (oceanRemoved && sctBody.hasOcean) { GameObject go = GameObject.Find ("Scatterer stock ocean disabler "+sctBody.celestialBodyName); - if (!ReferenceEquals(go,null)) + if (go != null) { FakeOceanPQS fake = go.GetComponent(); - if (!ReferenceEquals(fake,null)) + if (fake) { fake.Remove (); Component.Destroy(fake); diff --git a/scatterer/Effects/Proland/ProlandManager.cs b/scatterer/Effects/Proland/ProlandManager.cs index 29a81693..1d45cae7 100644 --- a/scatterer/Effects/Proland/ProlandManager.cs +++ b/scatterer/Effects/Proland/ProlandManager.cs @@ -66,7 +66,7 @@ public void Init(ScattererCelestialBody scattererBody) mainSunLight = findLight (scattererBody.mainSunCelestialBody); mainScaledSunLight = findScaledLight (scattererBody.mainSunCelestialBody); - if (ReferenceEquals (mainSunLight, null)) + if (!mainSunLight) { Utils.LogError ("No light found for " + scattererBody.mainSunCelestialBody + " for body " + parentCelestialBody.name + ". Defaulting to main sunlight, godrays, lightrays and caustics may look wrong, check your Kopernicus configuration."); mainSunLight = Scatterer.Instance.sunLight; @@ -122,7 +122,7 @@ Light findLight (string sunCelestialBody) { Light light = Scatterer.Instance.lights.SingleOrDefault (_light => (_light != null) && (_light.gameObject != null) && (_light.gameObject.name == sunCelestialBody)); - if (ReferenceEquals(light,null) && (sunCelestialBody == "Sun")) + if (!light && (sunCelestialBody == "Sun")) light = Scatterer.Instance.sunLight; return light; @@ -132,7 +132,7 @@ Light findScaledLight (string sunCelestialBody) { Light light = Scatterer.Instance.lights.SingleOrDefault (_light => (_light != null) && (_light.gameObject != null) && (_light.gameObject.name == ("Scaledspace SunLight "+sunCelestialBody))); - if (ReferenceEquals(light,null) && (sunCelestialBody == "Sun")) + if (!light && (sunCelestialBody == "Sun")) light = Scatterer.Instance.scaledSpaceSunLight; return light; @@ -206,7 +206,7 @@ public void Update() skyNode.UpdateNode(); - if (!ReferenceEquals(oceanNode,null)) + if (oceanNode) { oceanNode.UpdateNode(); } @@ -217,7 +217,7 @@ void FindSecondarySuns (ScattererCelestialBody scattererBody) foreach (SecondarySunConfig sunConfig in scattererBody.secondarySuns) { SecondarySun secondarySun = SecondarySun.FindSecondarySun (sunConfig); - if (!ReferenceEquals (secondarySun, null)) + if (secondarySun != null) { secondarySun.sunLight = findLight (sunConfig.celestialBodyName); secondarySun.scaledSunLight = findScaledLight (sunConfig.celestialBodyName); @@ -268,27 +268,20 @@ void UpdateSecondarySuns () public void OnDestroy() { - if (!ReferenceEquals(skyNode,null)) - { - skyNode.Cleanup(); + if (skyNode) Component.DestroyImmediate(skyNode); - } - if (!ReferenceEquals(oceanNode,null)) { - oceanNode.Cleanup(); + if (oceanNode) Component.DestroyImmediate(oceanNode); - } } //TODO: change this so that it takes the new configNode and that's all? May not be possible depending on if it needs to recreate lightraysRenderer and stuff //Therefor add an option to init from configNode? yep public void reBuildOcean() { - if (!ReferenceEquals(oceanNode,null)) + if (oceanNode) { - oceanNode.Cleanup(); - Component.Destroy(oceanNode); - UnityEngine.Object.Destroy(oceanNode); + Component.DestroyImmediate(oceanNode); if (Scatterer.Instance.mainSettings.oceanFoam) oceanNode = (OceanFFTgpu) Scatterer.Instance.scaledSpaceCamera.gameObject.AddComponent(typeof(OceanWhiteCaps)); diff --git a/scatterer/Effects/ScattererCelestialBodiesManager.cs b/scatterer/Effects/ScattererCelestialBodiesManager.cs index 14ba6135..cb74547f 100644 --- a/scatterer/Effects/ScattererCelestialBodiesManager.cs +++ b/scatterer/Effects/ScattererCelestialBodiesManager.cs @@ -1,23 +1,13 @@ // Manages loading,unloading and updating for all the Scatterer-enabled celestial bodies // Will spawn/delete/update a ProlandManager for each body if within range - using System; -using System.Collections; -using System.Collections.Generic; using System.Linq; -using System.Text; -using System.IO; -using System.Reflection; -using System.Runtime; -using KSP; -using KSP.IO; using UnityEngine; namespace Scatterer { public class ScattererCelestialBodiesManager - { - bool callCollector=false; + { public bool underwater = false; bool pqsEnabledOnScattererPlanet = false; @@ -38,7 +28,6 @@ public void Init() public void Update() { UpdateProlandManagers (); - CallCollectorIfNeeded (); } void UpdateProlandManagers () @@ -119,16 +108,6 @@ void findCelestialBodies() } } - void CallCollectorIfNeeded() - { - //TODO: determine if still needed anymore, ie test without - if (callCollector) - { - GC.Collect(); - callCollector=false; - } - } - void loadEffectsForBody (ScattererCelestialBody scattererCelestialBody) { try @@ -149,7 +128,6 @@ void loadEffectsForBody (ScattererCelestialBody scattererCelestialBody) throw new Exception ("Planet already removed from planets list"); } - callCollector = true; Utils.LogDebug ("Effects loaded for " + scattererCelestialBody.celestialBodyName); } catch (Exception exception) @@ -180,7 +158,7 @@ ScattererCelestialBody updateBody (ScattererCelestialBody scattererCelestialBody { scattererCelestialBody.prolandManager.Update (); inPqsEnabledOnScattererPlanet = inPqsEnabledOnScattererPlanet || !scattererCelestialBody.prolandManager.skyNode.inScaledSpace; - if (inPqsEnabledOnScattererPlanet && !ReferenceEquals (scattererCelestialBody.prolandManager.GetOceanNode (), null)) { + if (inPqsEnabledOnScattererPlanet && scattererCelestialBody.prolandManager.GetOceanNode()) { inCustomOceanEnabledOnScattererPlanet = true; inUnderwater = scattererCelestialBody.prolandManager.GetOceanNode ().isUnderwater; } @@ -193,7 +171,6 @@ void unloadEffectsForBody(ScattererCelestialBody scattererCelestialBody) UnityEngine.Object.DestroyImmediate (scattererCelestialBody.prolandManager); scattererCelestialBody.prolandManager = null; scattererCelestialBody.active = false; - callCollector = true; Utils.LogDebug ("Effects unloaded for " + scattererCelestialBody.celestialBodyName); } diff --git a/scatterer/Effects/SunFlare/SunFlare.cs b/scatterer/Effects/SunFlare/SunFlare.cs index b945e110..d69c58b7 100644 --- a/scatterer/Effects/SunFlare/SunFlare.cs +++ b/scatterer/Effects/SunFlare/SunFlare.cs @@ -282,7 +282,7 @@ public void ClearExtinction() RenderTexture.active=rt; } - public void CleanUp() + public void OnDestroy() { if (nearCameraHook) { diff --git a/scatterer/Effects/SunFlare/SunflareCameraHook.cs b/scatterer/Effects/SunFlare/SunflareCameraHook.cs index 0603ab7d..4e9f68d4 100644 --- a/scatterer/Effects/SunFlare/SunflareCameraHook.cs +++ b/scatterer/Effects/SunFlare/SunflareCameraHook.cs @@ -24,7 +24,7 @@ public SunflareCameraHook () public void OnPreRender() { - if(!ReferenceEquals(flare,null)) + if(flare) { flare.updateProperties (); flare.sunglareMaterial.SetFloat(ShaderProperties.renderOnCurrentCamera_PROPERTY,1.0f); @@ -34,7 +34,7 @@ public void OnPreRender() public void OnPostRender() { - if(!ReferenceEquals(flare,null)) + if(flare) { flare.ClearExtinction (); flare.sunglareMaterial.SetFloat(ShaderProperties.renderOnCurrentCamera_PROPERTY,0.0f); diff --git a/scatterer/Effects/SunFlare/SunflareManager.cs b/scatterer/Effects/SunFlare/SunflareManager.cs index b6865de4..f160a3be 100644 --- a/scatterer/Effects/SunFlare/SunflareManager.cs +++ b/scatterer/Effects/SunFlare/SunflareManager.cs @@ -2,12 +2,6 @@ using System.Collections; using System.Collections.Generic; using System.Linq; -using System.Text; -using System.IO; -using System.Reflection; -using System.Runtime; -using KSP; -using KSP.IO; using UnityEngine; namespace Scatterer @@ -65,7 +59,7 @@ public void UpdateFlares() } } - public void Cleanup() + public void OnDestroy() { if (this) StopAllCoroutines(); @@ -74,8 +68,7 @@ public void Cleanup() foreach (SunFlare customSunFlare in scattererSunFlares.Values) { - customSunFlare.CleanUp(); - Component.Destroy (customSunFlare); + Component.DestroyImmediate (customSunFlare); } } diff --git a/scatterer/Effects/SunlightModulator/SunlightModulator.cs b/scatterer/Effects/SunlightModulator/SunlightModulator.cs index ae357802..0351636d 100644 --- a/scatterer/Effects/SunlightModulator/SunlightModulator.cs +++ b/scatterer/Effects/SunlightModulator/SunlightModulator.cs @@ -1,18 +1,9 @@ using UnityEngine; -using System.Collections; -using System.IO; - -using System; using System.Collections.Generic; -using System.Linq; -using System.Reflection; -using System.Text; - -using KSP.IO; namespace Scatterer { - public class SunlightModulatorsManager : MonoBehaviour + public class SunlightModulatorsManager { public void ModulateByAttenuation(Light light, float inAttenuation) { @@ -51,11 +42,6 @@ private SunlightModulator FindOrCreateModulator(Light light) private Dictionary modulatorsDictionary = new Dictionary (); public void Cleanup() - { - OnDestroy (); - } - - public void OnDestroy() { foreach (SunlightModulator modulator in modulatorsDictionary.Values) { diff --git a/scatterer/GUI/GUIhandler.cs b/scatterer/GUI/GUIhandler.cs index 44d6b410..f95726e6 100644 --- a/scatterer/GUI/GUIhandler.cs +++ b/scatterer/GUI/GUIhandler.cs @@ -85,7 +85,7 @@ public void DrawScattererWindow (int windowId) windowRect.height = 40; sunflareOptions = false; } - if (Scatterer.Instance.mainSettings.fullLensFlareReplacement && !ReferenceEquals(Scatterer.Instance.sunflareManager,null) && !ReferenceEquals(Scatterer.Instance.sunflareManager.scattererSunFlares,null)) + if (Scatterer.Instance.mainSettings.fullLensFlareReplacement && Scatterer.Instance.sunflareManager && Scatterer.Instance.sunflareManager.scattererSunFlares != null) { if (GUILayout.Button ("Sunflare settings")) { @@ -258,7 +258,7 @@ public void LoadPlanet(int planetIndex) configPointGUI.loadSettingsForPlanet (selectedPlanet); atmoGUI.loadSettingsForPlanet(selectedPlanet); - if (!ReferenceEquals (Scatterer.Instance.planetsConfigsReader.scattererCelestialBodies [selectedPlanet].prolandManager.GetOceanNode(), null)) + if (Scatterer.Instance.planetsConfigsReader.scattererCelestialBodies [selectedPlanet].prolandManager.GetOceanNode()) { oceanGUI.buildOceanGUI (planetIndex); } diff --git a/scatterer/GUI/MainOptionsGUI.cs b/scatterer/GUI/MainOptionsGUI.cs index e052c1ea..fa600505 100644 --- a/scatterer/GUI/MainOptionsGUI.cs +++ b/scatterer/GUI/MainOptionsGUI.cs @@ -75,7 +75,7 @@ public void DrawOptionsMenu () void DrawQualityPresets () { - if (ReferenceEquals (qualityPresetsStrings, null)) + if (qualityPresetsStrings == null) { qualityPresetsStrings = QualityPresetsLoader.GetPresetsList (); currentPreset = QualityPresetsLoader.FindPresetOfCurrentSettings(Scatterer.Instance.mainSettings); diff --git a/scatterer/Scatterer.cs b/scatterer/Scatterer.cs index 372990fd..c3c0897c 100644 --- a/scatterer/Scatterer.cs +++ b/scatterer/Scatterer.cs @@ -75,7 +75,6 @@ void Awake () if (HighLogic.LoadedSceneIsFlight || HighLogic.LoadedScene == GameScenes.SPACECENTER || HighLogic.LoadedScene == GameScenes.TRACKSTATION || HighLogic.LoadedScene == GameScenes.MAINMENU) { - isActive = true; LoadSettings (); @@ -138,7 +137,6 @@ void Init() // if (mainSettings.usePlanetShine) // { // planetshineManager = new PlanetshineManager(); -// planetshineManager.Init(); // } if (HighLogic.LoadedScene != GameScenes.TRACKSTATION) @@ -161,12 +159,11 @@ void Init() if (mainSettings.useDepthBufferMode && (HighLogic.LoadedSceneIsFlight || HighLogic.LoadedScene == GameScenes.SPACECENTER)) { //cleanup any forgotten/glitched AA scripts - foreach (GenericAntiAliasing AA in Resources.FindObjectsOfTypeAll(typeof(GenericAntiAliasing))) + foreach (GenericAntiAliasing antiAliasing in Resources.FindObjectsOfTypeAll(typeof(GenericAntiAliasing))) { - if (AA) + if (antiAliasing) { - AA.Cleanup(); - Component.DestroyImmediate(AA); + Component.DestroyImmediate(antiAliasing); } } @@ -263,12 +260,12 @@ void Update () bufferManager.ClearDepthTexture(); } - if (!ReferenceEquals(sunflareManager,null)) + if (sunflareManager != null) { sunflareManager.UpdateFlares(); } -// if(!ReferenceEquals(planetshineManager,null)) +// if(planetshineManager != null) // { // planetshineManager.UpdatePlanetshine(); // } @@ -282,25 +279,23 @@ void OnDestroy () if (isActive) { - if (!ReferenceEquals(sunlightModulatorsManagerInstance,null)) + if (sunlightModulatorsManagerInstance != null) { sunlightModulatorsManagerInstance.Cleanup(); } -// if(!ReferenceEquals(planetshineManager,null)) +// if(planetshineManager != null) // { -// planetshineManager.CleanUp(); -// Component.DestroyImmediate(planetshineManager); +// planetshineManager.Cleanup(); // } - if (!ReferenceEquals(scattererCelestialBodiesManager,null)) + if (scattererCelestialBodiesManager != null) { scattererCelestialBodiesManager.Cleanup(); } if (ambientLightScript) { - ambientLightScript.restoreLight(); Component.DestroyImmediate(ambientLightScript); } @@ -309,25 +304,21 @@ void OnDestroy () if (nearCamera.gameObject.GetComponent (typeof(Wireframe))) Component.DestroyImmediate (nearCamera.gameObject.GetComponent (typeof(Wireframe))); - if (farCamera && farCamera.gameObject.GetComponent (typeof(Wireframe))) Component.DestroyImmediate (farCamera.gameObject.GetComponent (typeof(Wireframe))); - if (scaledSpaceCamera.gameObject.GetComponent (typeof(Wireframe))) Component.DestroyImmediate (scaledSpaceCamera.gameObject.GetComponent (typeof(Wireframe))); } - if (!ReferenceEquals(sunflareManager,null)) + if (sunflareManager) { - sunflareManager.Cleanup(); UnityEngine.Component.DestroyImmediate(sunflareManager); GameObject.DestroyImmediate(sunflareManagerGO); } if (shadowFadeRemover) { - shadowFadeRemover.OnDestroy(); Component.DestroyImmediate(shadowFadeRemover); } @@ -347,22 +338,19 @@ void OnDestroy () if (bufferManager) { - bufferManager.OnDestroy(); Component.DestroyImmediate (bufferManager); } - foreach (GenericAntiAliasing AA in antiAliasingScripts) + foreach (GenericAntiAliasing antiAliasing in antiAliasingScripts) { - if (AA) + if (antiAliasing) { - AA.Cleanup(); - Component.DestroyImmediate(AA); + Component.DestroyImmediate(antiAliasing); } } if (reflectionProbeChecker) { - reflectionProbeChecker.OnDestroy (); Component.DestroyImmediate (reflectionProbeChecker); } @@ -622,10 +610,10 @@ public void AddAAToInternalCamera(CameraManager.CameraMode cameraMode) if (cameraMode == CameraManager.CameraMode.IVA) { Camera internalCamera = Camera.allCameras.FirstOrDefault (_cam => _cam.name == "InternalCamera"); - if (!ReferenceEquals(internalCamera,null)) + if (internalCamera) { TemporalAntiAliasing internalTAA = internalCamera.GetComponent(); - if(ReferenceEquals(internalTAA,null)) + if(internalTAA == null) { internalTAA = internalCamera.gameObject.AddComponent(); antiAliasingScripts.Add(internalTAA); @@ -636,9 +624,9 @@ public void AddAAToInternalCamera(CameraManager.CameraMode cameraMode) public void SMAAOnCameraChange(CameraManager.CameraMode cameraMode) { - foreach (SubpixelMorphologicalAntialiasing AA in antiAliasingScripts) + foreach (SubpixelMorphologicalAntialiasing antiAliasing in antiAliasingScripts) { - if (AA) { AA.Cleanup(); Component.DestroyImmediate(AA);} + if (antiAliasing) { Component.DestroyImmediate(antiAliasing);} } antiAliasingScripts.Clear (); @@ -649,7 +637,7 @@ public void SMAAOnCameraChange(CameraManager.CameraMode cameraMode) antiAliasingScripts.Add(nearAA); Camera internalCamera = Camera.allCameras.FirstOrDefault (_cam => _cam.name == "InternalCamera"); - if (!ReferenceEquals(internalCamera,null)) + if (internalCamera) { // Add depth-based SMAA to internal camera, to avoid blurring over cockpit elements and text especially with custom IVAs SubpixelMorphologicalAntialiasing internalSMAA = internalCamera.gameObject.AddComponent(); diff --git a/scatterer/Utilities/BufferManager.cs b/scatterer/Utilities/BufferManager.cs index c69a4b01..e25ba9f7 100644 --- a/scatterer/Utilities/BufferManager.cs +++ b/scatterer/Utilities/BufferManager.cs @@ -68,7 +68,7 @@ public void OnDestroy () depthTexture.Release (); UnityEngine.Object.Destroy (depthTexture); } - if (!ReferenceEquals(checkTexturesCoroutine,null)) + if (checkTexturesCoroutine!=null) { StopCoroutine(checkTexturesCoroutine); } diff --git a/scatterer/Utilities/Camera/DepthPrePassMerger.cs b/scatterer/Utilities/Camera/DepthPrePassMerger.cs index 08cb491e..35edb49c 100644 --- a/scatterer/Utilities/Camera/DepthPrePassMerger.cs +++ b/scatterer/Utilities/Camera/DepthPrePassMerger.cs @@ -43,7 +43,7 @@ public DepthPrePassMerger () public void OnDestroy() { - if (!ReferenceEquals (targetCamera, null) && !ReferenceEquals (depthInitCommandBuffer, null)) + if (targetCamera && depthInitCommandBuffer != null) { targetCamera.RemoveCommandBuffer(CameraEvent.BeforeForwardOpaque, depthInitCommandBuffer); } diff --git a/scatterer/Utilities/Camera/DisableAmbientLight.cs b/scatterer/Utilities/Camera/DisableAmbientLight.cs index 7d53f0d7..eba8e76e 100644 --- a/scatterer/Utilities/Camera/DisableAmbientLight.cs +++ b/scatterer/Utilities/Camera/DisableAmbientLight.cs @@ -1,15 +1,4 @@ - using UnityEngine; -using System.Collections; -using System.IO; - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Reflection; -using System.Text; - -using KSP.IO; namespace Scatterer { @@ -31,13 +20,18 @@ public void OnPreRender() public void OnPostRender() { - restoreLight (); + RestoreLight (); } - public void restoreLight() + public void RestoreLight() { RenderSettings.ambientLight = originalAmbientLight; } + + public void OnDestroy() + { + RestoreLight(); + } } } diff --git a/scatterer/Utilities/Camera/DisableEffectsForReflectionsCamera.cs b/scatterer/Utilities/Camera/DisableEffectsForReflectionsCamera.cs index 7ab750a1..fda5f855 100644 --- a/scatterer/Utilities/Camera/DisableEffectsForReflectionsCamera.cs +++ b/scatterer/Utilities/Camera/DisableEffectsForReflectionsCamera.cs @@ -27,24 +27,24 @@ public DisableEffectsForReflectionsCamera () //and scatteringProjector not disabling correctly public void OnPreCull() { - if (Scatterer.Instance.mainSettings.useDepthBufferMode && !ReferenceEquals (null, manager.GetSkyNode ().localScatteringContainer)) + if (Scatterer.Instance.mainSettings.useDepthBufferMode && manager.GetSkyNode ().localScatteringContainer != null) { - manager.GetSkyNode ().localScatteringContainer.setActivated (false); - manager.GetSkyNode ().localScatteringContainer.updateContainer(); + manager.GetSkyNode().localScatteringContainer.SetActivated (false); + manager.GetSkyNode().localScatteringContainer.UpdateContainer(); } - if (!ReferenceEquals (manager.GetOceanNode (), null)) + if (manager.GetOceanNode()) { - manager.GetOceanNode ().setWaterMeshrenderersEnabled (false); + manager.GetOceanNode().setWaterMeshrenderersEnabled (false); } } public void OnPostRender() { - if (Scatterer.Instance.mainSettings.useDepthBufferMode && !ReferenceEquals (null, manager.GetSkyNode ().localScatteringContainer)) - manager.GetSkyNode ().localScatteringContainer.setActivated (true); - if (!ReferenceEquals(manager.GetOceanNode (),null)) - manager.GetOceanNode ().setWaterMeshrenderersEnabled (true); + if (Scatterer.Instance.mainSettings.useDepthBufferMode && manager.GetSkyNode ().localScatteringContainer != null) + manager.GetSkyNode().localScatteringContainer.SetActivated (true); + if (manager.GetOceanNode()) + manager.GetOceanNode().setWaterMeshrenderersEnabled (true); } } } diff --git a/scatterer/Utilities/Camera/ReflectionProbeChecker.cs b/scatterer/Utilities/Camera/ReflectionProbeChecker.cs index 00300d48..ac5ecda5 100644 --- a/scatterer/Utilities/Camera/ReflectionProbeChecker.cs +++ b/scatterer/Utilities/Camera/ReflectionProbeChecker.cs @@ -61,10 +61,9 @@ public void OnDestroy() { foreach (var _val in camToFixer.Values) { - if (!ReferenceEquals(_val,null)) + if (_val) { - Component.Destroy (_val); - UnityEngine.Object.Destroy (_val); + Component.DestroyImmediate (_val); } } camToFixer.Clear(); diff --git a/scatterer/Utilities/Camera/ReflectionProbeFixer.cs b/scatterer/Utilities/Camera/ReflectionProbeFixer.cs index ecebc9ab..64967603 100644 --- a/scatterer/Utilities/Camera/ReflectionProbeFixer.cs +++ b/scatterer/Utilities/Camera/ReflectionProbeFixer.cs @@ -70,14 +70,14 @@ public void OnPreCull() public void OnDestroy() { - if (!ReferenceEquals(scaledCamera,null)) + if (scaledCamera) { - Component.Destroy (scaledCamera); + Component.DestroyImmediate(scaledCamera); } - if (!ReferenceEquals (scaledCameraGO, null)) + if (scaledCameraGO) { - UnityEngine.Object.Destroy (scaledCameraGO); + UnityEngine.Object.DestroyImmediate (scaledCameraGO); } } } diff --git a/scatterer/Utilities/Camera/ScreenCopyCommandBuffer.cs b/scatterer/Utilities/Camera/ScreenCopyCommandBuffer.cs index 93a52d76..aeeb48ab 100644 --- a/scatterer/Utilities/Camera/ScreenCopyCommandBuffer.cs +++ b/scatterer/Utilities/Camera/ScreenCopyCommandBuffer.cs @@ -57,7 +57,7 @@ public void Initialize() { targetCamera.forceIntoRenderTexture = true; - if (!ReferenceEquals (targetCamera.activeTexture, null)) + if (targetCamera.activeTexture) { width = targetCamera.activeTexture.width; height = targetCamera.activeTexture.height; diff --git a/scatterer/Utilities/Misc/PlanetSecondaryLightUpdater.cs b/scatterer/Utilities/Misc/PlanetSecondaryLightUpdater.cs index 97e5d218..973bd7cc 100644 --- a/scatterer/Utilities/Misc/PlanetSecondaryLightUpdater.cs +++ b/scatterer/Utilities/Misc/PlanetSecondaryLightUpdater.cs @@ -35,7 +35,7 @@ IEnumerator UpdateCoroutine() { while (true) { - if (!ReferenceEquals(sourceMaterial,null) && !ReferenceEquals(targetMaterial,null)) + if (sourceMaterial && targetMaterial) { targetMaterial.CopyPropertiesFromMaterial (sourceMaterial); targetMaterial.SetShaderPassEnabled ("ForwardBase", false); diff --git a/scatterer/Utilities/Misc/Utils.cs b/scatterer/Utilities/Misc/Utils.cs index 18e50548..0fe7ffe0 100644 --- a/scatterer/Utilities/Misc/Utils.cs +++ b/scatterer/Utilities/Misc/Utils.cs @@ -19,7 +19,7 @@ public static string PluginPath { get { - if (ReferenceEquals(null,pluginPath)) + if (pluginPath == null) { string codeBase = Assembly.GetExecutingAssembly ().CodeBase; UriBuilder uri = new UriBuilder (codeBase); @@ -35,7 +35,7 @@ public static string GameDataPath { get { - if (ReferenceEquals(null,gameDataPath)) + if (gameDataPath==null) { gameDataPath= KSPUtil.ApplicationRootPath + "GameData/"; } @@ -64,7 +64,7 @@ public static GameObject GetMainMenuObject(CelestialBody celestialBody) GameObject mainMenuObject = GameObject.FindObjectsOfType().FirstOrDefault(b => ( (b.name == name) && b.transform.parent.name.Contains("Scene"))); - if (ReferenceEquals(mainMenuObject,null)) + if (!mainMenuObject) { throw new Exception("No correct main menu object found for "+celestialBody.name); } @@ -131,7 +131,7 @@ public static bool IsPowerOfTwo(int x) // If condition is true, enable keywordOn and disable keywordOff, else do the opposite public static void EnableOrDisableShaderKeywords(Material mat, string keywordOn, string keywordOff, bool enable) { - if (!ReferenceEquals(mat,null)) + if (mat) { if (enable) { diff --git a/scatterer/Utilities/Occlusion/ShadowMapCopier.cs b/scatterer/Utilities/Occlusion/ShadowMapCopier.cs index e66ea2f5..6b21c78d 100644 --- a/scatterer/Utilities/Occlusion/ShadowMapCopier.cs +++ b/scatterer/Utilities/Occlusion/ShadowMapCopier.cs @@ -134,7 +134,7 @@ public static RenderTexture RenderTexture { get { - if (ReferenceEquals(renderTexture,null)) + if (!renderTexture) { CreateTexture(); } diff --git a/scatterer/Utilities/Occlusion/ShadowRemoveFadeCommandBuffer.cs b/scatterer/Utilities/Occlusion/ShadowRemoveFadeCommandBuffer.cs index 282a9e41..4365490c 100644 --- a/scatterer/Utilities/Occlusion/ShadowRemoveFadeCommandBuffer.cs +++ b/scatterer/Utilities/Occlusion/ShadowRemoveFadeCommandBuffer.cs @@ -1,15 +1,11 @@ //"fixes" the shadows fading near far clip plane - using UnityEngine; using UnityEngine.Rendering; -using System.Collections.Generic; -using System; namespace Scatterer { public class ShadowRemoveFadeCommandBuffer : MonoBehaviour { - private CommandBuffer m_Buffer; private Camera m_Camera; diff --git a/scatterer/Utilities/Shader/ShaderReplacer.cs b/scatterer/Utilities/Shader/ShaderReplacer.cs index 112a7af8..4a884a69 100644 --- a/scatterer/Utilities/Shader/ShaderReplacer.cs +++ b/scatterer/Utilities/Shader/ShaderReplacer.cs @@ -6,7 +6,7 @@ namespace Scatterer { - public class ShaderReplacer : MonoBehaviour + public class ShaderReplacer { private static ShaderReplacer instance; public Dictionary LoadedShaders = new Dictionary(); @@ -28,7 +28,7 @@ public static ShaderReplacer Instance { get { - if (ReferenceEquals(instance,null)) + if (instance == null) { instance = new ShaderReplacer(); Utils.LogDebug("ShaderReplacer instance created");