コガネブログ

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

【Unity】【Odin - Inspector and Serializer】ドロップダウンメニューからパラメータを設定できるようになる「ValueDropdown」属性

目次

「ValueDropdown」属性

「ValueDropdown」属性を使用すると
ドロップダウンメニューから変数やプロパティの値を設定できるようになります

f:id:baba_s:20170720153740p:plain

using Sirenix.OdinInspector;
using UnityEngine;

public class Example : MonoBehaviour
{
    private static string[] list = { "フシギダネ", "ヒトカゲ", "ゼニガメ" };

    [ValueDropdown( "list" )] public string str1;

    private static string[] GetList()
    {
        return new [] { "チコリータ", "ヒノアラシ", "ワニノコ" };
    }
    
    [ValueDropdown( "GetList" )] public string str2;
}

使い方

ドロップダウンメニューに表示する内容を配列やリストで定義した上で
ValueDropdown 属性の引数にその変数の名前を文字列で指定します

private static string[] list = { "フシギダネ", "ヒトカゲ", "ゼニガメ" };

[ValueDropdown( "list" )] public string str1;

string 型の配列やリストを返す関数の名前を指定することもできます

private static string[] GetList()
{
    return new [] { "チコリータ", "ヒノアラシ", "ワニノコ" };
}

[ValueDropdown( "GetList" )] public string str2;

参考サイト様

Sirenix - Odin Inspector : ValueDropdownAttribute