コガネブログ

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

【Unity】【Odin Inspector 2.0 新機能】クラスに属性を適用する

アセット

概要

バージョン 2.0 まで

using Sirenix.OdinInspector;
using UnityEngine;

public class MyClass<T>
{
    public bool isEnabled;
    public T foo;
    public T bar;
}

public class Example : SerializedMonoBehaviour
{
    [Required]
    [LabelWidth( 70 )]
    [Toggle( "isEnabled" )]
    [HideReferenceObjectPicker]
    public MyClass<GameObject> a;
    
    [Required]
    [LabelWidth( 70 )]
    [Toggle( "isEnabled" )]
    [HideReferenceObjectPicker]
    public MyClass<string> b;
}

f:id:baba_s:20180814153203p:plain

バージョン 2.0 から

using Sirenix.OdinInspector;
using UnityEngine;

[Required]
[LabelWidth( 70 )]
[Toggle( "isEnabled" )]
[HideReferenceObjectPicker]
public class MyClass<T>
{
    public bool isEnabled;
    public T foo;
    public T bar;
}

public class Example : SerializedMonoBehaviour
{
    public MyClass<GameObject> a;
    public MyClass<string> b;
}

クラスに属性を適用しておくことで、
毎回、そのクラスの変数やプロパティを定義する時に
属性を適用する必要がなくなりました

参考サイト様