[UNITY]2DRPG開発日誌 #66 for文でEventTriggerを登録するとiの値がおかしくなる

さて、複数のボタンを生成する際、EventTriggerもfor文で回して登録したいことがありますよね。

すると、iの値がおかしく登録されてしまいました。例えば、こうすると、

こうすれば、MyMethodに 引数i を順番に渡したボタンが作れるかな、と思うと、全てのボタンの 引数i がmaxValueになります。

どうやら、MyMethodが呼び出される時に参照されるのはfor内でインクリメントされた最終的な i のようです。

なので、こうする必要があります。

EventTriggerに登録直前の i を int index = i; で保存し、引数として index を渡すと解決しました。