コガネブログ

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

【Unity】【Odin Inspector 2.0 新機能】特定のクラスにプロパティやボタンを付与できる「Property Processors」

アセット

概要

using UnityEngine;

public enum JobType
{
    SOLDIER,
    SORCERER,
    HUNTER,
}

public class Example : MonoBehaviour
{
    public int m_id;
}
using Sirenix.OdinInspector;
using Sirenix.OdinInspector.Editor;
using System.Collections.Generic;
using UnityEngine;

public class ExampleEditor : OdinPropertyProcessor<Example>
{
    public override void ProcessMemberProperties
    ( 
        List<InspectorPropertyInfo> propertyInfos 
    )
    {
        propertyInfos.AddValue
        (
            "Job Type",
            ( ref Example e ) => ( JobType )e.m_id,
            ( ref Example e, JobType jobType ) => e.m_id = ( int )jobType,
            new EnumToggleButtonsAttribute(),
            new BoxGroupAttribute( "Group" )
        );

        propertyInfos.AddDelegate
        (
            "Output",
            () => Debug.Log( "Pika" ),
            new BoxGroupAttribute( "Group" )
        );
    }
}

f:id:baba_s:20180814164401p:plain

「Property Processors」を使用することで
特定のクラスにプロパティやボタンを付与できます

参考サイト様