コガネブログ

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

【C#】値が変更された時にコールバック関数が呼び出される独自クラス

概要

Selectable<int> mSelectedValue = new Selectable<int>();

void Awake()
{
    // 値が変更された時に呼び出されるコールバック関数を登録します
    mSelectedValue.mChanged += value => Debug.Log( value );

    // 値を変更します(コールバック関数が呼び出されます)
    mSelectedValue.Value = 100;

    // 値を変更します(値が変わらないのでコールバック関数は呼び出されません)
    mSelectedValue.SetValueIfNotEqual( 100 );
    
    // 値を変更します(値が変わるのでコールバック関数が呼び出されます)
    mSelectedValue.SetValueIfNotEqual( 200 );
    
    // 値を変更します(コールバック関数は呼び出されません)
    mSelectedValue.SetValueWithoutCallback( 300 );
}
100
200

値が変更された時にコールバック関数が呼び出される独自クラスです
ゲームで所持金やスタミナが変化したら
UI の表示を変更したい時によく使用しています

関連記事