コガネブログ

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

【Unity】【Odin - Inspector and Serializer】列挙型をプルダウンではなくボタンで選択できるようになる「EnumToggleButtons」属性

目次

「EnumToggleButtons」属性

「EnumToggleButtons」属性を使用すると
列挙型の指定がプルダウンではなくボタンになります

f:id:baba_s:20170719152542p:plain

using Sirenix.OdinInspector;
using System;
using UnityEngine;

public enum JobType
{
    NONE      , 
    SOLDIER   , 
    SORCERER  , 
    HUNTER    , 
    MERCENARY , 
}

[Flags]
public enum AttributeType
{
    FIRE    = 1 << 1, 
    WATER   = 1 << 2, 
    GRASS   = 1 << 3, 
    ALL     = FIRE | WATER | GRASS, 
}

public class Example : MonoBehaviour
{
    [EnumToggleButtons] public JobType jobType1;
    
    [EnumToggleButtons, HideLabel, Title( "ジョブ" )]
    public JobType jobType2;
    
    [EnumToggleButtons, HideLabel, Title( "属性" )]
    public AttributeType attributeType1;
}

使い方

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

[EnumToggleButtons] public JobType jobType1;

HideLabel 属性と併用することで横幅いっぱいにボタンを表示できます
Title 属性と併用することで見出しを付けることもできます

[EnumToggleButtons, HideLabel, Title( "ジョブ" )]
public JobType jobType2;

Flags 属性が適用された列挙型に使用することもできます

[EnumToggleButtons, HideLabel, Title( "属性" )]
public AttributeType attributeType1;

参考サイト様

Odin Inspector and Serializer | Improve your workflow in Unity