void OnCloseComplete(IModalHandle closedHandle) { closedHandle.CloseCompleteEvent -= OnCloseComplete; closedHandle.Destroy(); if (closedHandle == _current) { _current = null; } else { _sustainedModals.Remove(closedHandle); _queueModals.Remove(closedHandle); } if (_sustainedModals.Count > 0) { _current = _sustainedModals [_sustainedModals.Count - 1]; _sustainedModals.RemoveAt(_sustainedModals.Count - 1); _current.RetunToForeground(); } else if (_queueModals.Count > 0) { Open(_queueModals [0]); _queueModals.RemoveAt(0); } else { if (_modalsCanvas != null) { _modalsCanvas.HideMask(); } } }