コガネブログ

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

【Unity】【Odin - Inspector and Serializer】インフォメーションを表示する「InfoBox」属性

目次

「InfoBox」属性

「InfoBox」属性を使用すると
Inspector にインフォメーションを表示できます

f:id:baba_s:20170720153047p:plain

using Sirenix.OdinInspector;
using UnityEngine;

public class Example : MonoBehaviour
{
    [InfoBox( "ピカチュウ" )]
    public int a1;
    
    [InfoBox( "カイリュー", InfoMessageType.Warning )]
    public int a2;
    
    [InfoBox( "ヤドラン", InfoMessageType.Error )]
    public int a3;
    
    [InfoBox( "ピジョン", InfoMessageType.None )]
    public int a4;

    public bool isEnable;
    
    [InfoBox( "コダック", "isEnable" )]
    public int b1;

    private bool IsEnable()
    {
        return isEnable;
    }
    
    [InfoBox( "コラッタ", "IsEnable" )]
    public int b2;
}

使い方

下記の様に記述するだけで使用できます
引数に InfoMessageType を設定することで
アイコンの表記を変更できます

[InfoBox( "ピカチュウ" )]
public int a1;

[InfoBox( "カイリュー", InfoMessageType.Warning )]
public int a2;

[InfoBox( "ヤドラン", InfoMessageType.Error )]
public int a3;

[InfoBox( "ピジョン", InfoMessageType.None )]
public int a4;
InfoMessageType 内容
None なし
Info インフォメーションアイコン
Warning 警告アイコン
Error エラーアイコン

引数に bool 型の変数の名前を指定することで
条件を満たしている場合にのみ
インフォメーションを表示することもできます

public bool isEnable;

[InfoBox( "コダック", "isEnable" )]
public int b1;

引数には bool 値を返す関数の名前を指定することもできます

private bool IsEnable()
{
    return isEnable;
}

[InfoBox( "コラッタ", "IsEnable" )]
public int b2;

参考サイト様

Sirenix - Odin Inspector : InfoBoxAttribute