override public void OnInspectorGUI() { LightingTilemapCollider2D script = target as LightingTilemapCollider2D; script.mapType = (LightingTilemapCollider2D.MapType)EditorGUILayout.EnumPopup("Tilemap Type", script.mapType); script.colliderType = (LightingTilemapCollider2D.ColliderType)EditorGUILayout.EnumPopup("Collision Type", script.colliderType); script.lightingCollisionLayer = (LightingLayer)EditorGUILayout.EnumPopup("Collision Layer", script.lightingCollisionLayer); script.maskType = (LightingTilemapCollider2D.MaskType)EditorGUILayout.EnumPopup("Mask Type", script.maskType); if (script.maskType != LightingTilemapCollider2D.MaskType.None) { script.lightingMaskLayer = (LightingLayer)EditorGUILayout.EnumPopup("Mask Layer", script.lightingMaskLayer); script.maskMode = (LightingMaskMode)EditorGUILayout.EnumPopup("Mask Mode", script.maskMode); } else { EditorGUI.BeginDisabledGroup(true); EditorGUILayout.EnumPopup("Mask Layer", script.lightingMaskLayer); EditorGUILayout.EnumPopup("Mask Mode", script.maskMode); EditorGUI.EndDisabledGroup(); } script.dayHeight = EditorGUILayout.Toggle("Day Height", script.dayHeight); if (script.dayHeight) { script.height = EditorGUILayout.FloatField("Height", script.height); } //script.ambientOcclusion = EditorGUILayout.Toggle("Ambient Occlusion", script.ambientOcclusion); //if (script.ambientOcclusion) { // script.occlusionSize = EditorGUILayout.FloatField("Occlussion Size", script.occlusionSize); //} if (GUILayout.Button("Update Collisions")) { script.Initialize(); foreach (LightingSource2D light in LightingSource2D.GetList()) { light.movement.ForceUpdate(); } LightingMainBuffer2D.ForceUpdate(); } if (GUI.changed && EditorApplication.isPlaying == false) { EditorUtility.SetDirty(target); EditorSceneManager.MarkSceneDirty(SceneManager.GetActiveScene()); } }
override public void OnInspectorGUI() { LightingManager2D script = target as LightingManager2D; script.enable = EditorGUILayout.Toggle("Enable", script.enable); EditorGUI.BeginDisabledGroup(script.enable == false); script.preset = (LightingManager2D.Preset)EditorGUILayout.EnumPopup("Preset", script.preset); Color newDarknessColor = EditorGUILayout.ColorField("Darkness Color", script.darknessColor); if (script.darknessColor.Equals(newDarknessColor) == false) { script.darknessColor = newDarknessColor; LightingMainBuffer2D.ForceUpdate(); } float newShadowDarkness = EditorGUILayout.Slider("Shadow Darkness", script.shadowDarkness, 0, 1); if (newShadowDarkness != script.shadowDarkness) { script.shadowDarkness = newShadowDarkness; LightingMainBuffer2D.ForceUpdate(); } float newSunDirection = EditorGUILayout.FloatField("Sun Rotation", script.sunDirection); if (newSunDirection != script.sunDirection) { script.sunDirection = newSunDirection; LightingMainBuffer2D.ForceUpdate(); } script.debug = EditorGUILayout.Toggle("Debug", script.debug); EditorGUI.EndDisabledGroup(); }
override public void OnInspectorGUI() { LightingManager2D script = target as LightingManager2D; script.cameraType = (LightingManager2D.CameraType)EditorGUILayout.EnumPopup("Camera Type", script.cameraType); if (script.cameraType == LightingManager2D.CameraType.Custom) { script.customCamera = (Camera)EditorGUILayout.ObjectField(script.customCamera, typeof(Camera), true); } script.renderingMode = (LightingManager2D.RenderingMode)EditorGUILayout.EnumPopup("Rendering Mode", script.renderingMode); if (script.renderingMode == LightingManager2D.RenderingMode.OnRender) { foldout_sortingLayer = EditorGUILayout.Foldout(foldout_sortingLayer, "Sorting Layer"); if (foldout_sortingLayer) { EditorGUI.indentLevel = EditorGUI.indentLevel + 1; script.sortingLayerID = (int)EditorGUILayout.Slider("Sorting Layer ID", script.sortingLayerID, 0, 31); script.sortingLayerOrder = EditorGUILayout.IntField("Sorting Layer Order", script.sortingLayerOrder); script.sortingLayerName = EditorGUILayout.TextField("Sorting Layer Name", script.sortingLayerName); EditorGUI.indentLevel = EditorGUI.indentLevel - 1; } } foldout_settings = EditorGUILayout.Foldout(foldout_settings, "Settings"); if (foldout_settings) { EditorGUI.indentLevel = EditorGUI.indentLevel + 1; Color newDarknessColor = EditorGUILayout.ColorField("Darkness Color", script.darknessColor); if (script.darknessColor.Equals(newDarknessColor) == false) { script.darknessColor = newDarknessColor; LightingMainBuffer2D.ForceUpdate(); } script.drawAdditiveLights = EditorGUILayout.Toggle("Draw Additive Lights", script.drawAdditiveLights); script.drawPenumbra = EditorGUILayout.Toggle("Draw Penumbra", script.drawPenumbra); script.drawRooms = EditorGUILayout.Toggle("Draw Rooms", script.drawRooms); script.drawOcclusion = EditorGUILayout.Toggle("Draw Occlusion", script.drawOcclusion); script.darknessBuffer = EditorGUILayout.Toggle("Draw Darkness Buffer", script.darknessBuffer); script.drawSceneView = EditorGUILayout.Toggle("Draw Scene View", script.drawSceneView); EditorGUI.indentLevel = EditorGUI.indentLevel - 1; } foldout_lightingBuffers = EditorGUILayout.Foldout(foldout_lightingBuffers, "Lighting Buffers"); if (foldout_lightingBuffers) { script.lightingResolution = EditorGUILayout.Slider("Lighting Resolution", script.lightingResolution, 0.125f, 1.0f); script.textureFormat = (RenderTextureFormat)EditorGUILayout.EnumPopup("Light Texture Format", script.textureFormat); script.fixedLightBufferSize = EditorGUILayout.Toggle("Fixed Light Buffer", script.fixedLightBufferSize); if (script.fixedLightBufferSize) { script.fixedLightTextureSize = (LightingSourceTextureSize)EditorGUILayout.EnumPopup("Fixed Light Buffer Size", script.fixedLightTextureSize); script.lightingBufferPreload = EditorGUILayout.Toggle("Pre Load Lights", script.lightingBufferPreload); script.lightingBufferPreloadCount = (int)EditorGUILayout.Slider("Pre Load Count", script.lightingBufferPreloadCount, 1, 50); } else { EditorGUI.BeginDisabledGroup(true); EditorGUILayout.EnumPopup("Fixed Light Buffer Size", script.fixedLightTextureSize); EditorGUILayout.Toggle("Pre Load Lights", script.lightingBufferPreload); EditorGUILayout.Slider("Pre Load Count", script.lightingBufferPreloadCount, 1, 50); EditorGUI.EndDisabledGroup(); } } foldout_daylighting = EditorGUILayout.Foldout(foldout_daylighting, "Day Lighting"); if (foldout_daylighting) { EditorGUI.indentLevel = EditorGUI.indentLevel + 1; // Day Lighting Settings EditorGUI.BeginDisabledGroup(true); script.preset = LightingManager2D.DayLightingPreset.Default; EditorGUILayout.EnumPopup("Preset", LightingManager2D.DayLightingPreset.Default); EditorGUI.EndDisabledGroup(); float newSunDirection = EditorGUILayout.FloatField("Sun Rotation", script.sunDirection); if (newSunDirection != script.sunDirection) { script.sunDirection = newSunDirection; LightingMainBuffer2D.ForceUpdate(); } script.drawDayShadows = EditorGUILayout.Toggle("Cast Shadows", script.drawDayShadows); float newShadowDarkness = EditorGUILayout.Slider("Shadow Darkness", script.shadowDarkness, 0, 1); if (newShadowDarkness != script.shadowDarkness) { script.shadowDarkness = newShadowDarkness; LightingMainBuffer2D.ForceUpdate(); } EditorGUI.indentLevel = EditorGUI.indentLevel - 1; } foldout_lightingAtlas = EditorGUILayout.Foldout(foldout_lightingAtlas, "Lighting Atlas"); if (foldout_lightingAtlas) { EditorGUI.indentLevel = EditorGUI.indentLevel + 1; script.lightingSpriteAtlas = EditorGUILayout.Toggle("Enable Atlas", script.lightingSpriteAtlas); script.spriteAtlasScale = (SpriteAtlasScale)EditorGUILayout.EnumPopup("Sprites Scaling", script.spriteAtlasScale); script.spriteAtlasPreloadFoldersCount = EditorGUILayout.IntField("Folder Count", script.spriteAtlasPreloadFoldersCount); EditorGUI.indentLevel = EditorGUI.indentLevel + 1; for (int i = 0; i < script.spriteAtlasPreloadFoldersCount; i++) { if (script.spriteAtlasPreloadFolders.Length <= i) { System.Array.Resize(ref script.spriteAtlasPreloadFolders, i + 1); } // if (script.spriteAtlasPreloadFolders[i] == null) { // script.spriteAtlasPreloadFolders[i] = ""; //} script.spriteAtlasPreloadFolders[i] = EditorGUILayout.TextField("Folder (" + (i + 1) + ")", script.spriteAtlasPreloadFolders[i]); } EditorGUI.indentLevel = EditorGUI.indentLevel - 1; EditorGUI.indentLevel = EditorGUI.indentLevel - 1; } script.debug = EditorGUILayout.Toggle("Debug", script.debug); script.disableEngine = EditorGUILayout.Toggle("Disable Engine", script.disableEngine); string buttonName = "Re-Initialize"; if (script.version < LightingManager2D.VERSION) { buttonName += " (Outdated)"; GUI.backgroundColor = Color.red; } if (GUILayout.Button(buttonName)) { if (script.mainBuffer != null && script.fboManager != null && script.meshRendererMode != null) { DestroyImmediate(script.mainBuffer.gameObject); DestroyImmediate(script.fboManager.gameObject); DestroyImmediate(script.meshRendererMode.gameObject); script.Initialize(); } else { DestroyImmediate(script.gameObject); LightingManager2D.Get(); } LightingMainBuffer2D.ForceUpdate(); } if (GUI.changed && EditorApplication.isPlaying == false) { if (target != null) { EditorUtility.SetDirty(target); } EditorSceneManager.MarkSceneDirty(SceneManager.GetActiveScene()); } }
override public void OnInspectorGUI() { LightingSource2D script = target as LightingSource2D; EditorGUI.BeginDisabledGroup(true); EditorGUILayout.EnumPopup("Preset", LightingManager2D.Get().preset); EditorGUI.EndDisabledGroup(); //script.lightingCollisionLayer = (LightingCollisionLayer)EditorGUILayout.EnumPopup("Collision Layer", script.lightingCollisionLayer); //script.lightingMaskLayer = (LightingMaskLayer)EditorGUILayout.EnumPopup("Mask Layer", script.lightingMaskLayer); script.layerCount = EditorGUILayout.IntField("Layer Count", script.layerCount); foldout = EditorGUILayout.Foldout(foldout, "Layers"); if (foldout) { EditorGUI.indentLevel = EditorGUI.indentLevel + 1; for (int i = 0; i < script.layerCount; i++) { if (script.layerSetting.Length <= i) { System.Array.Resize(ref script.layerSetting, i + 1); } if (script.layerSetting[i] == null) { script.layerSetting[i] = new LayerSetting(); } script.layerSetting[i].layerID = (LightingLayer)EditorGUILayout.EnumPopup("Layer ID", script.layerSetting[i].layerID); script.layerSetting[i].renderingOrder = (LightRenderingOrder)EditorGUILayout.EnumPopup("Order", script.layerSetting[i].renderingOrder); } EditorGUI.indentLevel = EditorGUI.indentLevel - 1; } Color newColor = EditorGUILayout.ColorField("Color", script.lightColor); if (script.lightColor.Equals(newColor) == false) { newColor.a = 1f; script.lightColor = newColor; LightingMainBuffer2D.ForceUpdate(); } float newAlpha = EditorGUILayout.Slider("Alpha", script.lightAlpha, 0, 1); if (script.lightAlpha != newAlpha) { script.lightAlpha = newAlpha; LightingMainBuffer2D.ForceUpdate(); } float newLightSize = EditorGUILayout.FloatField("Size", script.lightSize); if (newLightSize != script.lightSize) { script.lightSize = newLightSize; LightingMainBuffer2D.ForceUpdate(); } switch (LightingManager2D.Get().fixedLightBufferSize) { case true: EditorGUI.BeginDisabledGroup(true); EditorGUILayout.EnumPopup("Buffer Size", LightingManager2D.Get().fixedLightTextureSize); EditorGUI.EndDisabledGroup(); break; case false: script.textureSize = (LightingSourceTextureSize)EditorGUILayout.EnumPopup("Buffer Size", script.textureSize); break; } script.lightSprite = (LightingSource2D.LightSprite)EditorGUILayout.EnumPopup("Light Sprite", script.lightSprite); if (script.lightSprite == LightingSource2D.LightSprite.Custom) { Sprite newSprite = (Sprite)EditorGUILayout.ObjectField("Sprite", script.sprite, typeof(Sprite), true); if (newSprite != script.sprite) { script.sprite = newSprite; script.SetMaterial(); LightingMainBuffer2D.ForceUpdate(); } } else { if (script.sprite != LightingSource2D.GetDefaultSprite()) { script.sprite = LightingSource2D.GetDefaultSprite(); script.SetMaterial(); LightingMainBuffer2D.ForceUpdate(); } } script.enableCollisions = EditorGUILayout.Toggle("Apply Shadows & Masks", script.enableCollisions); script.rotationEnabled = EditorGUILayout.Toggle("Apply Rotation", script.rotationEnabled); script.additive = EditorGUILayout.Toggle("Apply Additive Shader", script.additive); if (script.additive) { script.additive_alpha = EditorGUILayout.Slider("Additive Alpha", script.additive_alpha, 0, 1); } script.eventHandling = EditorGUILayout.Toggle("Apply Event Handling", script.eventHandling); script.drawInsideCollider = EditorGUILayout.Toggle("Apply Light Inside Collider", script.drawInsideCollider); if (targets.Length > 1) { if (GUILayout.Button("Apply to All")) { foreach (Object obj in targets) { LightingSource2D copy = obj as LightingSource2D; if (copy == script) { continue; } copy.layerSetting[0].renderingOrder = script.layerSetting[0].renderingOrder; copy.layerSetting[1].renderingOrder = script.layerSetting[1].renderingOrder; copy.lightColor = script.lightColor; copy.lightAlpha = script.lightAlpha; copy.lightSize = script.lightSize; copy.textureSize = script.textureSize; copy.enableCollisions = script.enableCollisions; copy.rotationEnabled = script.rotationEnabled; copy.additive = script.additive; copy.additive_alpha = script.additive_alpha; copy.eventHandling = script.eventHandling; copy.drawInsideCollider = script.drawInsideCollider; copy.lightSprite = script.lightSprite; copy.sprite = script.sprite; copy.SetMaterial(); } LightingMainBuffer2D.ForceUpdate(); } } if (GUI.changed && EditorApplication.isPlaying == false) { EditorUtility.SetDirty(target); EditorSceneManager.MarkSceneDirty(SceneManager.GetActiveScene()); } }
override public void OnInspectorGUI() { LightingCollider2D script = target as LightingCollider2D; EditorGUI.BeginDisabledGroup(true); EditorGUILayout.EnumPopup("Preset", LightingManager2D.Get().preset); EditorGUI.EndDisabledGroup(); script.colliderType = (LightingCollider2D.ColliderType)EditorGUILayout.EnumPopup("Collision Type", script.colliderType); if (script.colliderType != LightingCollider2D.ColliderType.None) { script.lightingCollisionLayer = (LightingLayer)EditorGUILayout.EnumPopup("Collision Layer", script.lightingCollisionLayer); } else { EditorGUI.BeginDisabledGroup(true); EditorGUILayout.EnumPopup("Collision Layer", script.lightingCollisionLayer); EditorGUI.EndDisabledGroup(); } script.maskType = (LightingCollider2D.MaskType)EditorGUILayout.EnumPopup("Mask Type", script.maskType); if (script.maskType != LightingCollider2D.MaskType.None) { script.lightingMaskLayer = (LightingLayer)EditorGUILayout.EnumPopup("Mask Layer", script.lightingMaskLayer); } else { EditorGUI.BeginDisabledGroup(true); EditorGUILayout.EnumPopup("Mask Layer", script.lightingMaskLayer); EditorGUI.EndDisabledGroup(); } script.dayHeight = EditorGUILayout.Toggle("Apply Day Shadow", script.dayHeight); if (script.dayHeight) { script.height = EditorGUILayout.FloatField("Height", script.height); if (script.height < 0) { script.height = 0; } } script.ambientOcclusion = EditorGUILayout.Toggle("Apply Ambient Occlusion", script.ambientOcclusion); if (script.ambientOcclusion) { script.smoothOcclusionEdges = EditorGUILayout.Toggle("Smooth Edges", script.smoothOcclusionEdges); script.occlusionSize = EditorGUILayout.FloatField("Occlussion Size", script.occlusionSize); if (script.occlusionSize < 0) { script.occlusionSize = 0; } } script.generateDayMask = EditorGUILayout.Toggle("Apply Day Mask", script.generateDayMask); if (GUILayout.Button("Update Collisions")) { script.Initialize(); LightingMainBuffer2D.ForceUpdate(); } if (targets.Length > 1) { if (GUILayout.Button("Apply to All")) { foreach (Object obj in targets) { LightingCollider2D copy = obj as LightingCollider2D; if (copy == script) { continue; } copy.colliderType = script.colliderType; copy.lightingCollisionLayer = script.lightingCollisionLayer; copy.maskType = script.maskType; copy.lightingMaskLayer = script.lightingMaskLayer; copy.dayHeight = script.dayHeight; copy.height = script.height; copy.ambientOcclusion = script.ambientOcclusion; copy.occlusionSize = script.occlusionSize; copy.generateDayMask = script.generateDayMask; copy.Initialize(); } LightingMainBuffer2D.ForceUpdate(); } } if (GUI.changed && EditorApplication.isPlaying == false) { EditorUtility.SetDirty(target); EditorSceneManager.MarkSceneDirty(SceneManager.GetActiveScene()); } //script.lighten = EditorGUILayout.Toggle("Lighten", script.lighten); //script.darken = EditorGUILayout.Toggle("Darken", script.darken); }
override public void OnInspectorGUI() { LightingManager2D script = target as LightingManager2D; EditorGUI.BeginDisabledGroup(true); script.preset = LightingManager2D.Preset.Default; EditorGUILayout.EnumPopup("Preset", LightingManager2D.Preset.Default); EditorGUI.EndDisabledGroup(); script.renderingMode = (LightingManager2D.RenderingMode)EditorGUILayout.EnumPopup("Rendering Mode", script.renderingMode); if (script.renderingMode == LightingManager2D.RenderingMode.OnRender) { script.sortingLayerID = (int)EditorGUILayout.Slider("Sorting Layer ID", script.sortingLayerID, 0, 31); script.sortingLayerOrder = EditorGUILayout.IntField("Sorting Layer Order", script.sortingLayerOrder); script.sortingLayerName = EditorGUILayout.TextField("Sorting Layer Name", script.sortingLayerName); } Color newDarknessColor = EditorGUILayout.ColorField("Darkness Color", script.darknessColor); if (script.darknessColor.Equals(newDarknessColor) == false) { script.darknessColor = newDarknessColor; LightingMainBuffer2D.ForceUpdate(); } float newShadowDarkness = EditorGUILayout.Slider("Shadow Darkness", script.shadowDarkness, 0, 1); if (newShadowDarkness != script.shadowDarkness) { script.shadowDarkness = newShadowDarkness; LightingMainBuffer2D.ForceUpdate(); } float newSunDirection = EditorGUILayout.FloatField("Sun Rotation", script.sunDirection); if (newSunDirection != script.sunDirection) { script.sunDirection = newSunDirection; LightingMainBuffer2D.ForceUpdate(); } script.drawAdditiveLights = EditorGUILayout.Toggle("Draw Additive Lights", script.drawAdditiveLights); script.drawRooms = EditorGUILayout.Toggle("Draw Rooms", script.drawRooms); script.drawOcclusion = EditorGUILayout.Toggle("Draw Occlusion", script.drawOcclusion); script.drawDayShadows = EditorGUILayout.Toggle("Draw Day Shadows", script.drawDayShadows); script.darknessBuffer = EditorGUILayout.Toggle("Draw Main Buffer", script.darknessBuffer); script.drawSceneView = EditorGUILayout.Toggle("Draw Scene View", script.drawSceneView); script.lightingResolution = EditorGUILayout.Slider("Lighting Resolution", script.lightingResolution, 0.125f, 1.0f); script.fixedLightBufferSize = EditorGUILayout.Toggle("Fixed Light Buffer", script.fixedLightBufferSize); if (script.fixedLightBufferSize) { script.fixedLightTextureSize = (LightingSourceTextureSize)EditorGUILayout.EnumPopup("Fixed Light Buffer Size", script.fixedLightTextureSize); } else { EditorGUI.BeginDisabledGroup(true); EditorGUILayout.EnumPopup("Fixed Light Buffer Size", script.fixedLightTextureSize); EditorGUI.EndDisabledGroup(); } script.batchColliderMask = EditorGUILayout.Toggle("Batch Collider Mask", script.batchColliderMask); script.debug = EditorGUILayout.Toggle("Debug", script.debug); script.disableEngine = EditorGUILayout.Toggle("Disable Engine", script.disableEngine); string buttonName = "Re-Initialize"; if (script.version < LightingManager2D.VERSION) { buttonName += " (Outdated)"; GUI.backgroundColor = Color.red; } if (GUILayout.Button(buttonName)) { if (script.mainBuffer != null && script.fboManager != null && script.meshRendererMode != null) { DestroyImmediate(script.mainBuffer.gameObject); DestroyImmediate(script.fboManager.gameObject); DestroyImmediate(script.meshRendererMode.gameObject); script.Initialize(); } else { DestroyImmediate(script.gameObject); LightingManager2D.Get(); } LightingMainBuffer2D.ForceUpdate(); } if (GUI.changed && EditorApplication.isPlaying == false) { if (target != null) { EditorUtility.SetDirty(target); } EditorSceneManager.MarkSceneDirty(SceneManager.GetActiveScene()); } }
override public void OnInspectorGUI() { LightingSource2D script = target as LightingSource2D; EditorGUI.BeginDisabledGroup(true); EditorGUILayout.EnumPopup("Preset", LightingManager2D.Get().preset); EditorGUI.EndDisabledGroup(); Color newColor = EditorGUILayout.ColorField("Color", script.lightColor); if (script.lightColor.Equals(newColor) == false) { newColor.a = 1f; script.lightColor = newColor; LightingMainBuffer2D.ForceUpdate(); } float newAlpha = EditorGUILayout.Slider("Alhpa", script.lightAlpha, 0, 1); if (script.lightAlpha != newAlpha) { script.lightAlpha = newAlpha; LightingMainBuffer2D.ForceUpdate(); } float newLightSize = EditorGUILayout.FloatField("Size", script.lightSize); if (newLightSize != script.lightSize) { script.lightSize = newLightSize; LightingMainBuffer2D.ForceUpdate(); } script.textureSize = (LightingSource2D.TextureSize)EditorGUILayout.EnumPopup("Buffer Size", script.textureSize); script.lightSprite = (LightingSource2D.LightSprite)EditorGUILayout.EnumPopup("Light Sprite", script.lightSprite); if (script.lightSprite == LightingSource2D.LightSprite.Custom) { Sprite newSprite = (Sprite)EditorGUILayout.ObjectField("Sprite", script.sprite, typeof(Sprite), true); if (newSprite != script.sprite) { script.sprite = newSprite; script.SetMaterial(); LightingMainBuffer2D.ForceUpdate(); } } else { if (script.sprite != LightingSource2D.GetDefaultSprite()) { script.sprite = LightingSource2D.GetDefaultSprite(); script.SetMaterial(); LightingMainBuffer2D.ForceUpdate(); } } script.rotationEnabled = EditorGUILayout.Toggle("Enable Rotation", script.rotationEnabled); }