コガネブログ

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

【Unity】【Odin - Inspector and Serializer】値が変更された時に呼び出されるコールバック関数を設定できる「OnValueChanged」属性

目次

「OnValueChanged」属性

「OnValueChanged」属性を使用すると
変数やプロパティの値が変更された時に呼び出される
コールバック関数を指定することができます

using Sirenix.OdinInspector;
using UnityEngine;

public class Example : MonoBehaviour
{
    [OnValueChanged( "OnChanged" )] public int a;

    private void OnChanged()
    {
        Debug.Log( "log" );
    }
}

使い方

変更を検知したい変数やプロパティに対して
OnValueChanged 属性を適用します
引数に指定する文字列はコールバック関数の名前です

[OnValueChanged( "OnChanged" )] public int a;

あとは、コールバック関数を定義するだけです

private void OnChanged()
{
    Debug.Log( "log" );
}

参考サイト様

Odin Inspector and Serializer | Improve your workflow in Unity