public void ChangeScreen(UIHomeScreenController.UIType _typeScreen, bool _hideOldSubScreen = true) { if (_typeScreen == UIHomeScreenController.UIType.Unknown) { #if TEST Debug.LogError("Chưa Setup typeScreen!"); #endif return; } UIHomeScreenController _tmpScreen = GetScreen(_typeScreen); if (_tmpScreen == null) { return; } if (_tmpScreen.currentState != UIHomeScreenController.State.Show) { _tmpScreen.InitData(); } else { _tmpScreen.RefreshData(); } if (_tmpScreen.isSubScreen) { if (_tmpScreen.myLastType == UIHomeScreenController.UIType.Unknown) { _tmpScreen.myLastType = currentScreen.myType; } if (currentScreen.isSubScreen && _hideOldSubScreen) { currentScreen.Hide(); } currentScreen = _tmpScreen; } else { currentScreen.Hide(); currentScreen = _tmpScreen; } currentScreen.transform.SetAsLastSibling(); if (currentScreen.currentState != UIHomeScreenController.State.Show) { currentScreen.Show(); currentScreen.LateInitData(); } }
UIHomeScreenController GetScreen(UIHomeScreenController.UIType _typeScreen) { switch (_typeScreen) { case UIHomeScreenController.UIType.LoginScreen: return(listScreens.loginScreen); case UIHomeScreenController.UIType.RegisterScreen: return(listScreens.registerScreen); case UIHomeScreenController.UIType.ChooseGame: return(listScreens.chooseGameScreen); case UIHomeScreenController.UIType.ChooseTable: return(listScreens.chooseTableScreen); case UIHomeScreenController.UIType.SettingScreen: return(listScreens.settingScreen); case UIHomeScreenController.UIType.UserDetail: return(listScreens.userDetailScreen); case UIHomeScreenController.UIType.Leaderboard: return(listScreens.leaderboardScreen); case UIHomeScreenController.UIType.GetGold: return(listScreens.getGoldScreen); case UIHomeScreenController.UIType.SubGame: return(listScreens.subGame); case UIHomeScreenController.UIType.LuckyWheel: return(listScreens.luckyWheel); } Debug.LogError("NULL Screen: " + _typeScreen.ToString()); return(null); }