私のUnityプロジェクトでは、JSONレスポンスに基づいて動的にトグルを作成し、各トグルにリスナーを追加しています。今すぐトグルをクリックするたびに、SomeListener
関数が正常に呼び出されます。しかし、私はトグル(true
またはfalse
)の値だけを渡すことができ、理想的には、トグルの値と追加の引数(student._id
)の両方をリスナーに渡すことができるようにしたいと考えています。ユニティのイベントリスナーへの引数の受け渡し
foreach(var student in students) {
GameObject studentObject = (GameObject) Instantiate(StudentAttendancePreFab, currentPos, transform.rotation);
studentObject.GetComponent<AttendanceItem>().studentId = student._id;
studentObject.GetComponent<Toggle>().isOn = student.attending;
studentObject.GetComponent<Toggle>().onValueChanged.AddListener(SomeListener);
//is there some way to do this?
//studentObject.getComponent<Toggle>().onValueChanged.AddListener(SomeListener, student._id);
}
各トグルのリスナー。
void SomeListener (bool isClicked) {
Debug.Log(isClicked);
}
//is there some way to do this?
//void SomeListener(bool isClicker, string studentId) {
//something
//}}
しかし、それはbool値を失う:あなたがしたい場合MyStudentListener機能を省略することができます。 – Everts
(x、y)=> doSomething(x、y) –