コガネブログ

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

【Unity】【Odin - Inspector and Serializer】ボタンをグループ化して表示する「ButtonGroup」属性

目次

「ButtonGroup」属性

「ButtonGroup」属性を使用すると
ボタンをグループ化して表示できるようになります

f:id:baba_s:20170721143926p:plain

using Sirenix.OdinInspector;
using UnityEngine;

public class Example : MonoBehaviour
{
    [ButtonGroup( "グループ A" )] 
    private void OnClick1() { }
    
    [ButtonGroup( "グループ A" )] 
    private void OnClick2() { }
    
    [ButtonGroup( "グループ A" )] 
    private void OnClick3() { }
    
    [ButtonGroup( "グループ B", 2 )] 
    private void OnClick4() { }
    
    [ButtonGroup( "グループ B", 2 )] 
    private void OnClick5() { }
    
    [ButtonGroup( "グループ C", 1 )] 
    private void OnClick6() { }
    
    [ButtonGroup( "グループ C", 1 )] 
    private void OnClick7() { }
}

使い方

下記の様に記述するだけで使用できます

[ButtonGroup( "グループ A" )] 
private void OnClick1() { }
    
[ButtonGroup( "グループ A" )] 
private void OnClick2() { }
    
[ButtonGroup( "グループ A" )] 
private void OnClick3() { }

第2 引数に数値を指定することで
ボタングループの表示順を変更できます
数値が小さいものが上に表示されます

[ButtonGroup( "グループ B", 2 )] 
private void OnClick4() { }

[ButtonGroup( "グループ B", 2 )] 
private void OnClick5() { }

[ButtonGroup( "グループ C", 1 )] 
private void OnClick6() { }

[ButtonGroup( "グループ C", 1 )] 
private void OnClick7() { }

参考サイト様

Odin Inspector and Serializer | Improve your workflow in Unity