using System; using System.Collections.Generic; using System.Linq; using UnityEngine.EventSystems; namespace UnityEngine.UI { // Token: 0x02000081 RID: 129 [AddComponentMenu("UI/Toggle Group", 32)] [DisallowMultipleComponent] public class ToggleGroup : UIBehaviour { // Token: 0x060004DD RID: 1245 RVA: 0x0001A35C File Offset: 0x0001875C protected ToggleGroup() { } // Token: 0x17000156 RID: 342 // (get) Token: 0x060004DE RID: 1246 RVA: 0x0001A378 File Offset: 0x00018778 // (set) Token: 0x060004DF RID: 1247 RVA: 0x0001A393 File Offset: 0x00018793 public bool allowSwitchOff { get { return this.m_AllowSwitchOff; } set { this.m_AllowSwitchOff = value; } } // Token: 0x060004E0 RID: 1248 RVA: 0x0001A39D File Offset: 0x0001879D private void ValidateToggleIsInGroup(Toggle toggle) { if (toggle == null || !this.m_Toggles.Contains(toggle)) { throw new ArgumentException(string.Format("Toggle {0} is not part of ToggleGroup {1}", new object[] { toggle, this })); } } // Token: 0x060004E1 RID: 1249 RVA: 0x0001A3DC File Offset: 0x000187DC public void NotifyToggleOn(Toggle toggle) { this.ValidateToggleIsInGroup(toggle); for (int i = 0; i < this.m_Toggles.Count; i++) { if (!(this.m_Toggles[i] == toggle)) { this.m_Toggles[i].isOn = false; } } } // Token: 0x060004E2 RID: 1250 RVA: 0x0001A43D File Offset: 0x0001883D public void UnregisterToggle(Toggle toggle) { if (this.m_Toggles.Contains(toggle)) { this.m_Toggles.Remove(toggle); } } // Token: 0x060004E3 RID: 1251 RVA: 0x0001A45E File Offset: 0x0001885E public void RegisterToggle(Toggle toggle) { if (!this.m_Toggles.Contains(toggle)) { this.m_Toggles.Add(toggle); } } // Token: 0x060004E4 RID: 1252 RVA: 0x0001A480 File Offset: 0x00018880 public bool AnyTogglesOn() { return this.m_Toggles.Find((Toggle x) => x.isOn) != null; } // Token: 0x060004E5 RID: 1253 RVA: 0x0001A4C4 File Offset: 0x000188C4 public IEnumerable ActiveToggles() { return this.m_Toggles.Where((Toggle x) => x.isOn); } // Token: 0x060004E6 RID: 1254 RVA: 0x0001A504 File Offset: 0x00018904 public void SetAllTogglesOff() { bool allowSwitchOff = this.m_AllowSwitchOff; this.m_AllowSwitchOff = true; for (int i = 0; i < this.m_Toggles.Count; i++) { this.m_Toggles[i].isOn = false; } this.m_AllowSwitchOff = allowSwitchOff; } // Token: 0x04000251 RID: 593 [SerializeField] private bool m_AllowSwitchOff = false; // Token: 0x04000252 RID: 594 private List m_Toggles = new List(); } }