private void OnItemClick(JMRUITertiaryButton currentTertaryButton)
 {
     if (prevTertaryButton != currentTertaryButton)
     {
         if (prevTertaryButton != null)
         {
             prevTertaryButton.IsOn = false;
         }
         currentTertaryButton.IsOn = true;
     }
     else
     {
         if (allowSwitchOff)
         {
             currentTertaryButton.IsOn = !currentTertaryButton.IsOn;
         }
     }
     prevTertaryButton = currentTertaryButton;
 }
        protected override void OnEnable()
        {
            base.OnEnable();
            tertaryButtons.Clear();
            JMRUITertiaryButton tempTertaryButton = null;
            bool anyTertaryButtonOn = false;
            int  i = 0;

            foreach (RectTransform item in content)
            {
                JMRUITertiaryButton tertaryButton = item.GetComponent <JMRUITertiaryButton>();
                if (tertaryButton)
                {
                    if (i == 0)
                    {
                        tempTertaryButton = tertaryButton;
                    }
                    if (tertaryButton.IsOn && !anyTertaryButtonOn)
                    {
                        anyTertaryButtonOn = true;
                        tempTertaryButton  = tertaryButton;
                    }
                    else if (anyTertaryButtonOn)
                    {
                        tertaryButton.IsOn = false;
                    }

                    tertaryButton.parentClickHandler = OnItemClick;
                    tertaryButtons.Add(tertaryButton);
                    i++;
                }
            }

            if (tempTertaryButton != null)
            {
                if (!anyTertaryButtonOn && !allowSwitchOff)
                {
                    tempTertaryButton.IsOn = true;
                }
                prevTertaryButton = tempTertaryButton;
            }
        }