public void RegisterToggle(ToggleCustom toggle)
 {
     if (!m_Toggles.Contains(toggle))
     {
         m_Toggles.Add(toggle);
     }
 }
 public void UnregisterToggle(ToggleCustom toggle)
 {
     if (m_Toggles.Contains(toggle))
     {
         m_Toggles.Remove(toggle);
     }
 }
 private void ValidateToggleIsInGroup(ToggleCustom toggle)
 {
     if (toggle == null || !m_Toggles.Contains(toggle))
     {
         throw new ArgumentException(string.Format("Toggle {0} is not part of ToggleGroup {1}", toggle, this));
     }
 }
        public void NotifyToggleOn(ToggleCustom toggle)
        {
            ValidateToggleIsInGroup(toggle);

            if (allowMultipleSelection)
            {
                return;
            }

            // disable all toggles in the group
            for (var i = 0; i < m_Toggles.Count; i++)
            {
                if (m_Toggles[i] == toggle)
                {
                    continue;
                }

                m_Toggles[i].isOn = false;
            }
        }