using System; using UnityEditor; using UnityEngine; namespace StansAssets.Plugins.Editor { public class IMGUIBlockWithSpace : IDisposable { readonly int m_IndentLevel; public IMGUIBlockWithSpace(string header, int space = 15) : this(new GUIContent(header), space) { } public IMGUIBlockWithSpace(GUIContent header, int space = 15) { if (header.image != null) header.text = " " + header.text; GUILayout.Space(10); using (new IMGUIBeginHorizontal()) { GUILayout.Space(10); EditorGUILayout.LabelField(header, SettingsWindowStyles.ServiceBlockHeader); } GUILayout.Space(5); m_IndentLevel = EditorGUI.indentLevel; EditorGUI.indentLevel = 0; EditorGUILayout.BeginHorizontal(); GUILayout.Space(space); EditorGUILayout.BeginVertical(); } public void Dispose() { EditorGUILayout.EndVertical(); EditorGUILayout.EndHorizontal(); EditorGUI.indentLevel = m_IndentLevel; GUILayout.Space(10); EditorGUILayout.BeginVertical(SettingsWindowStyles.SeparationStyle); GUILayout.Space(5); EditorGUILayout.EndVertical(); } } }