/// <summary> /// внутренний метод для вывода окна на экран /// </summary> /// <param name="window"></param> /// <param name="callback"></param> private void ShowWindow(BaseWindow window, Action callback = null) { if (_currentWindow != null) { if (_currentWindow.TypeWindow.Equals(window.TypeWindow)) { return; } Debug.LogWarningFormat("{0} -> {1}", _currentWindow.TypeWindow, window.TypeWindow); if (_currentWindow.State == WindowState.Open) { _currentWindow.HideWindow(() => _showwindow(window, callback)); } else { _showwindow(window, callback); } } else { _showwindow(window, callback); } }
private void _showwindow(BaseWindow window, Action callback) { window.ShowWindow(callback); _currentWindow = window; }