バッテラのハローワールド研究室

エンジニア、プログラミングに関する情報を掲載中!

【Unity】Odin(有料アセット)でEnumをフラグ管理しやすくする

Unity

はじめに

今日はUnityの有料アセットであるOdinの機能紹介についてです。

Odinを使ったらフラグ管理が非常に楽ちんになることがわかったのでそれを共有したいと思います

環境

この記事の情報は次のバージョンで動作確認しています。

* MacOS Monterey (12.1)
* Unity (2021.2.9f1)
* Odin - Inspector and Serializer(3.0.13)

ビットフィールドのEnumを作成する

フラグといえばEnumです。

Enumを定義するのですが、ビットフィールドのEnumとは↓のような感じで書きます。

using System; 


[Flags]
public enum TriggerType
{
    Joker   = 1 << 1,
    Heat    = 1 << 2,
    Metal   = 1 << 3,
    Luna    = 1 << 4,
    All     = Joker | Heat | Metal | Luna,
}

[Flags]を付与することを忘れないこと

EnumToggleButtonsという属性をつけて変数宣言

using Sirenix.OdinInspector;


[SerializeField, EnumToggleButtons, HideLabel, Title("トリガー")]
TriggerType hensin;

Inspector上での使い方

ボタン押してフラグを選択するような感じで決めれる、もちろん複数もできるし便利!