Files
Cielonos/Packages/com.lunawolfstudios.scriptablesheets/Editor/Settings/SettingsData/AbstractBaseSettings.cs
SoulliesOfficial 7ee2894a63 整合SLSUtilities
2026-01-17 11:35:49 -05:00

30 lines
724 B
C#

using LunaWolfStudiosEditor.ScriptableSheets.Layout;
using UnityEditor;
using UnityEngine;
namespace LunaWolfStudiosEditor.ScriptableSheets
{
public abstract class AbstractBaseSettings : IScriptableSettings
{
[SerializeField]
private bool m_Foldout;
public bool Foldout { get => m_Foldout; set => m_Foldout = value; }
public abstract GUIContent FoldoutContent { get; }
public void DrawGUI(SerializedObject target)
{
SheetLayout.DrawHorizontalLine();
m_Foldout = EditorGUILayout.Foldout(m_Foldout, FoldoutContent);
if (m_Foldout)
{
SheetLayout.Indent();
DrawProperties(target);
SheetLayout.Unindent();
}
}
protected abstract void DrawProperties(SerializedObject target);
}
}