private IEnumerator WaitForProvider() { while (Provider == null) { yield return(WaitFor.EndOfFrame); } Acu = Provider.GetComponent <AirController>(); var acuName = Acu.name.StartsWith("ACU - ") ? Acu.name.Substring("ACU - ".Length) : Acu.name; // "ACU - " as per NameValidator tool. acuLabel.SetValueServer(acuName); foreach (var netPage in pageSwitcher.Pages) { var page = netPage as GUI_AcuPage; page.Acu = Acu; page.AcuUi = this; } editValueModal.Acu = Acu; editValueModal.AcuUi = this; OnTabOpened.AddListener(TabOpened); OnTabClosed.AddListener(TabClosed); if (IsUnobserved == false) { // Call manually; OnTabOpened is invoked before the Provider is set, // so the initial invoke was missed. TabOpened(); } }
public virtual void CloseTab(int index) { var tab = GetTab(index); if (tab != null) { tab.CloseTab(); tab.IsOpened = false; OnTabClosed?.Invoke(tab); } }