1如果调用监听调用的函数没有参数则用
allselect.onClick.RemoveAllListeners(); allselect.onClick.AddListener(OnAllProInButtonClick);2 如果需要传参数进去则要用lamude表达式
allselect.onClick.RemoveAllListeners(); allselect.onClick.AddListener(() =>OnAllProInButtonClick(Select_Info)); unallselect.onClick.RemoveAllListeners(); unallselect.onClick.AddListener(() => OnUnAllProInButtonClick(Select_Info)); RefreshButton.onClick.RemoveAllListeners(); RefreshButton.onClick.AddListener(() => OnClickRefreshButtonForTaskprocess(task.TaskId));3 调用函数时两者不现
Toggle
Toggle Select_Info = processmanagerPrefab.transform.Find("Information/Select").GetComponent<Toggle>(); Select_Info.onValueChanged.RemoveAllListeners(); Select_Info.onValueChanged.AddListener(TurnSelectALLNot);TurnSelectALLNot函数可以无参数的或默认参数为Toggle.isOn的状态的
private void TurnSelectALLNot(bool isOn ) { foreach (var toggle in proToggles.Values) { if (toggle != null) { if (isOn) { toggle.isOn = true; } else { toggle.isOn = false; } } } }Button
Button allselect = processmanagerPrefab.transform.Find("TaskDetailButtons/Button_Select").GetComponent<Button>(); allselect.onClick.RemoveAllListeners(); allselect.onClick.AddListener(() =>OnAllProInButtonClick(Select_Info));思考是不是可以类似toggle有默认参数bool isOn但不用在函数中写的情况呢?