mirror of
https://github.com/maxartz15/VolumetricLighting.git
synced 2024-11-10 01:02:55 +01:00
74 lines
1.9 KiB
C#
74 lines
1.9 KiB
C#
using UnityEngine;
|
|
using UnityEditor;
|
|
|
|
[CustomEditor(typeof(FogLight))]
|
|
[CanEditMultipleObjects]
|
|
public class FogLightEditor : Editor
|
|
{
|
|
SerializedProperty m_IntensityMult;
|
|
SerializedProperty m_RangeMult;
|
|
SerializedProperty m_ForceOnForFog;
|
|
SerializedProperty m_Shadows;
|
|
SerializedProperty m_ShadowmapRes;
|
|
SerializedProperty m_BlurIterations;
|
|
SerializedProperty m_BlurSize;
|
|
SerializedProperty m_Bounded;
|
|
|
|
void OnEnable()
|
|
{
|
|
m_IntensityMult = serializedObject.FindProperty ("m_IntensityMult");
|
|
m_RangeMult = serializedObject.FindProperty ("m_RangeMult");
|
|
m_ForceOnForFog = serializedObject.FindProperty ("m_ForceOnForFog");
|
|
m_Shadows = serializedObject.FindProperty ("m_Shadows");
|
|
m_ShadowmapRes = serializedObject.FindProperty ("m_ShadowmapRes");
|
|
m_BlurIterations = serializedObject.FindProperty ("m_BlurIterations");
|
|
m_BlurSize = serializedObject.FindProperty ("m_BlurSize");
|
|
m_Bounded = serializedObject.FindProperty("m_Bounded");
|
|
}
|
|
|
|
override public void OnInspectorGUI()
|
|
{
|
|
serializedObject.Update();
|
|
|
|
EditorGUILayout.PropertyField(m_IntensityMult);
|
|
EditorGUILayout.PropertyField(m_RangeMult);
|
|
EditorGUILayout.PropertyField(m_ForceOnForFog);
|
|
|
|
// Section below just for light types with shadow
|
|
bool supportsShadows = false;
|
|
bool isAreaLight = false;
|
|
foreach (FogLight fogLight in targets)
|
|
{
|
|
if (fogLight.type == FogLight.Type.Area)
|
|
{
|
|
supportsShadows = true;
|
|
isAreaLight = true;
|
|
break;
|
|
}
|
|
else if (fogLight.type == FogLight.Type.Directional)
|
|
{
|
|
supportsShadows = true;
|
|
break;
|
|
}
|
|
}
|
|
|
|
if (supportsShadows)
|
|
{
|
|
EditorGUILayout.Space();
|
|
|
|
EditorGUILayout.PropertyField(m_Shadows);
|
|
EditorGUILayout.PropertyField(m_ShadowmapRes);
|
|
EditorGUILayout.PropertyField(m_BlurIterations);
|
|
EditorGUILayout.PropertyField(m_BlurSize);
|
|
}
|
|
|
|
if (isAreaLight)
|
|
{
|
|
EditorGUILayout.Space();
|
|
EditorGUILayout.PropertyField(m_Bounded);
|
|
}
|
|
|
|
serializedObject.ApplyModifiedProperties();
|
|
}
|
|
}
|