Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
        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);
        }