/// <summary> /// Check of errors /// </summary> /// <param name="screenID">id of checking screen</param> private bool CheckOfScreen(EnumUIScreenID screenID) { //if showing/hiding animation isnt finishd if (UIScreenAnimationManager.Instance.isAnimating) { return(true); } //if doesn't found screen with this name in _uiScreens if (!_uiScreens.ContainsKey(screenID)) { LoggingManager.AddErrorToLog("Try open Screen, but he is epsan in _uiScreens"); return(true); } if (screenID == _currentScreen.screenID) { return(true); } return(false); }
/*Logic */ //show first screen private void ShowScreenByID(EnumUIScreenID screenID) { if (!_uiScreens.ContainsKey(screenID)) { LoggingManager.AddErrorToLog("Try open " + screenID.ToString() + " first Screen, but he is epsan in _uiScreens"); return; } //set all deactivate foreach (KeyValuePair <EnumUIScreenID, IUIScreenController> pair in _uiScreens) { if (pair.Key != screenID) { pair.Value.baseGameObject.SetActive(false); } } ChangeCurrentScreen(_uiScreens[screenID]); _currentScreen.baseGameObject.SetActive(true); _currentScreen.SetData(null); }