コガネブログ

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

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

概要

SelectableList<int> mSelectedList = new SelectableList<int>();

void Awake()
{
    // リストが変更された時に呼び出されるコールバック関数を登録します
    mSelectedList.mChanged += () => Debug.Log( mSelectedList.Count );
    
    // リストに要素を挿入します
    mSelectedList.Insert( 0, 1 );
    mSelectedList.Insert( 0, 2 );
    mSelectedList.Insert( 0, 3 );

    // リストから要素を削除します
    mSelectedList.RemoveAt( 0 );
    mSelectedList.RemoveAt( 0 );
    mSelectedList.RemoveAt( 0 );
    
    // リストに要素を追加します
    mSelectedList.Add( 4 );
    mSelectedList.Add( 5 );
    mSelectedList.Add( 6 );

    // リストの要素を全削除します
    mSelectedList.Clear();
}

リストが変更された時にコールバック関数が呼び出される独自クラスです
例えば、アイテム一覧画面で売却するアイテムを複数選択した時や
進化合成画面で素材を複数選択した時に
UI の表示を変更したい時によく使用しています

関連記事