/// <summary> /// Set the selected radio button index in child. /// </summary> /// <param name="index">send the message with index.</param> /// <param name="val">Value if true or false.</param> /// <param name="currentSelectedButton"> action for callback.</param> public void SetCurrentButtonSelected(int index, bool val, Action currentSelectedButton) { if (this.j_CurrentSelectedButton != null) { this.j_CurrentSelectedButton.Invoke(); for (int i = 0; i < onItemDeselected.GetPersistentEventCount(); i++) { ((MonoBehaviour)onItemDeselected.GetPersistentTarget(i)).SendMessage(onItemDeselected.GetPersistentMethodName(i), j_CurrentSelectedIndex); } OnItemDeselected?.Invoke(j_CurrentSelectedIndex); j_RadioButtons[j_CurrentSelectedIndex].SetDynamicValueChange(false); } this.j_CurrentSelectedButton = currentSelectedButton; j_CurrentSelectedIndex = index; if (this.j_CurrentSelectedButton != null) { for (int i = 0; i < onItemSelected.GetPersistentEventCount(); i++) { ((MonoBehaviour)onItemSelected.GetPersistentTarget(i)).SendMessage(onItemSelected.GetPersistentMethodName(i), j_CurrentSelectedIndex); } OnItemSelected?.Invoke(j_CurrentSelectedIndex); } j_RadioButtons[index].SetDynamicValueChange(val); }
public void OnItemSelect(int selectedIndex, string name, Action selectAction) { if (prevSelectedItem != selectAction) { prevSelectedItem?.Invoke(); prevSelectedItem = selectAction; label.text = name; for (int i = 0; i < onValueChange.GetPersistentEventCount(); i++) { ((MonoBehaviour)onValueChange.GetPersistentTarget(i)).SendMessage(onValueChange.GetPersistentMethodName(i), selectedIndex); } OnValueChange?.Invoke(selectedIndex); } isExpanded = false; anim.SetTrigger("Normal"); }
/// <summary> /// Set the selected checkbox button. /// </summary> /// <param name="index"> int index of selected checkbox.</param> /// <param name="val">value of selected checkbox.</param> public void SetCurrentButtonSelected(int index, bool val) { j_CurrentSelectedIndex = index; if (val) { for (int i = 0; i < onItemSelected.GetPersistentEventCount(); i++) { ((MonoBehaviour)onItemSelected.GetPersistentTarget(i)).SendMessage(onItemSelected.GetPersistentMethodName(i), j_CurrentSelectedIndex); } OnItemSelected?.Invoke(j_CurrentSelectedIndex); } else { for (int i = 0; i < onItemDeselected.GetPersistentEventCount(); i++) { ((MonoBehaviour)onItemDeselected.GetPersistentTarget(i)).SendMessage(onItemDeselected.GetPersistentMethodName(i), j_CurrentSelectedIndex); } OnItemDeselected?.Invoke(j_CurrentSelectedIndex); } j_CheckboxButtons[index].SetDynamicValueChange(val); }