예제 #1
0
 private void ValidateUIPopupIsInGroup(UIPopup uiPopup)
 {
     if (uiPopup == null || !_uiPopups.Contains(uiPopup))
     {
         throw new ArgumentException($"UIPopup {uiPopup.name} is not part of UIPopupGroup {this.name}");
     }
 }
예제 #2
0
 private void OnClosePopup_Listener(UIPopup uiPopup)
 {
     if (!allowCloseAll && !AnyUIPopupsOpen() && _uiPopups.Length > 1)
     {
         int toOpenIndex = uiPopup != _uiPopups[0] ? 0 : 1;
         _uiPopups[toOpenIndex].OpenPopup();
         NotifyUIPopupOpen(_uiPopups[toOpenIndex]);
     }
 }
예제 #3
0
        public void NotifyUIPopupOpen(UIPopup uiPopup, bool showControls = true, bool silent = false)
        {
            ValidateUIPopupIsInGroup(uiPopup);

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

                _uiPopups[i].ClosePopup(showControls, silent);
            }
        }
예제 #4
0
 private void OnOpenPopup_Listener(UIPopup uiPopup, bool keepCache)
 {
     NotifyUIPopupOpen(uiPopup);
 }