Added Dohya

This commit is contained in:
2026-08-29 13:34:57 +03:00
parent f6a7547e84
commit 9f87122a34
1478 changed files with 963649 additions and 35753 deletions
@@ -0,0 +1,74 @@
#if UNITY_EDITOR
using UnityEditor;
namespace VLB
{
public abstract class EffectAbstractBaseEditor<T> : EditorCommon where T : EffectAbstractBase
{
SerializedProperty componentsToChange = null;
SerializedProperty restoreBaseIntensity = null;
protected TargetList<T> m_Targets;
protected override void OnEnable()
{
base.OnEnable();
m_Targets = new TargetList<T>(targets);
}
protected abstract void DisplayChildProperties();
public sealed override void OnInspectorGUI()
{
base.OnInspectorGUI();
if (m_Targets.HasAtLeastOneTargetWith((T comp) => { return comp.GetComponent<UnityEngine.Light>() == null && comp.GetComponent<VolumetricLightBeam>() == null; }))
{
EditorGUILayout.HelpBox(EditorStrings.Effects.HelpNoValidComponents, MessageType.Error);
return;
}
if (m_Targets.HasAtLeastOneTargetWith((T comp) =>
{
if (comp.componentsToChange.HasFlag(EffectAbstractBase.ComponentsToChange.UnityLight))
{
var light = comp.GetComponent<UnityEngine.Light>();
#if UNITY_5_6_OR_NEWER
return (light && light.lightmapBakeType == UnityEngine.LightmapBakeType.Baked);
#else
return (light && light.lightmappingMode == UnityEngine.LightmappingMode.Baked);
#endif
}
return false;
}))
{
EditorGUILayout.HelpBox(EditorStrings.Effects.HelpLightNotChangeable, MessageType.Warning);
}
if (m_Targets.HasAtLeastOneTargetWith((T comp) =>
{
if (comp.componentsToChange.HasFlag(EffectAbstractBase.ComponentsToChange.VolumetricLightBeam))
{
var beam = comp.GetComponent<VolumetricLightBeam>();
return (beam && !beam.trackChangesDuringPlaytime);
}
return false;
}))
{
EditorGUILayout.HelpBox(EditorStrings.Effects.HelpBeamNotChangeable, MessageType.Warning);
}
DisplayChildProperties();
if (FoldableHeader.Begin(this, EditorStrings.Effects.HeaderMisc))
{
componentsToChange.CustomMask<EffectAbstractBase.ComponentsToChange>(EditorStrings.Effects.ComponentsToChange);
EditorGUILayout.PropertyField(restoreBaseIntensity, EditorStrings.Effects.RestoreBaseIntensity);
}
FoldableHeader.End();
serializedObject.ApplyModifiedProperties();
}
}
}
#endif