コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】ParticleSystem の Inspector で使われているような Foldout を自作してみる

スクリーンショット

f:id:baba_s:20180320211412p:plain

ソースコード

使用例

using UnityEngine;

public class Example : MonoBehaviour
{
    public int m_id;
    public string m_name;
}
using UnityEditor;
using UnityEngine;

[CustomEditor( typeof( Example ) )]
public class ExampleInspector : Editor
{
    private bool m_display;

    public override void OnInspectorGUI()
    {
        GUILayout.Space( 5 );

        m_display = EditorGUICustom.Header( new GUIContent( "Settings" ), m_display );

        if ( !m_display ) return;

        var idProp = serializedObject.FindProperty( "m_id" );
        var nameProp = serializedObject.FindProperty( "m_name" );

        EditorGUI.indentLevel++;
        EditorGUILayout.PropertyField( idProp );
        EditorGUILayout.PropertyField( nameProp );
        EditorGUI.indentLevel--;

        serializedObject.ApplyModifiedProperties();
    }
}

参考

「TouchScript」の「GUIElements.cs」を参考にさせていただきました