UnityのButtonのonClickに引数がないせいで困ったときの解決策
UnityでButtonが複数あると、押されたときにどのボタンが押されたかわからない。
そういうときはラムダを使うと解決できる。
for(int i = 0; i < m_Buttons.Length; i++) { int index = i; m_Buttons[i].onClick.AddListener(() => { Debug.Log("押されたボタンのインデックス:"+index); }); }
ただし、iを直接ラムダの中に入れると、
どのボタンが押されてもiの最後の状態になるので注意。
m_Buttons.Lengthが5だった場合、
iはforループの最後に5になるので、その値が出力される。