Untitled

mail@pastecode.io avatarunknown
csharp
24 days ago
2.9 kB
1
Indexable
Never
private IEnumerator IEGoToCity(string sceneCityName)
        {
            //- hide main menu
            UIDialogController.Instance.HideDialog<DialogMainMenu>();
            Debug.Log($"[IEGoToCity] 1"); 
            // if(SceneCurrentCity == ListSceneCity[sceneCity.buildIndex - 3])
            HideScene(SceneEnum.MainMenu);
            Debug.Log($"[IEGoToCity] 2"); 

            Scene sceneCity = SceneManager.GetSceneByName(sceneCityName);
            if (!(sceneCity.IsValid() && sceneCity.isLoaded))
            {
                // await TaskGoToCity();
                SceneManager.LoadScene(sceneCityName, LoadSceneMode.Additive);
                // SceneManager.UnloadSceneAsync(SceneManager.GetActiveScene());
            }
            Debug.Log($"[IEGoToCity] 3"); 

            EventDispatch.Ins.Dispatch(null, Defines.Events.ShowAllHintBuyHouse);
            Debug.Log($"[IEGoToCity] 4"); 

            yield return null;
            Debug.Log($"[IEGoToCity] 5"); 

            sceneCity = SceneManager.GetSceneByName(sceneCityName);
            Debug.Log($"[IEGoToCity] 6"); 

            if (sceneCity.isLoaded)
            {
                SceneGame currentScene = sceneCity.GetRootGameObjects()[0].GetComponentInChildren<SceneGame>();
                UnityLog.LogC(string.Format("@VinD: currentScene.name = {0}", currentScene.name));
                Debug.Log($"[IEGoToCity] 7"); 

                if (!(ListSceneCity.Contains(currentScene) && currentScene != null))
                    ListSceneCity.Add(currentScene);
            }
            Debug.Log($"[IEGoToCity] 8"); 

            // SetCurrentSceneCity(sceneCity.buildIndex - 3);
            SceneCurrentCity = ListSceneCity[sceneCity.buildIndex - 2];
            
            SceneManager.SetActiveScene(SceneManager.GetSceneByName(sceneCityName));
            ShowScene(SceneEnum.City);

            BuildCityManager.Ins.OnEnterCityScene();
            Debug.Log($"[IEGoToCity] 9"); 

            if (CameraTouchMovement.Ins != null)
                CameraTouchMovement.Ins.Camera.orthographicSize = CameraTouchMovement.ZOOM_OUT_LIMIT;

            MoveCloudOut();
            
            //- hide UI city
            BuildCityManager.Ins.IsInteractable = true;

            GameUIController.Ins.changingScene = false;
            SetCameraForUIDialogManager(SceneEnum.City);
            // EventDispatch.RaiseEvent(Defines.Events.CoinChange);
            Input.multiTouchEnabled = true;
            EventDispatch.RaiseEventWithData(sceneCityName, Defines.Events.SetCityAccessible);
            UserProfileData.Ins.currentCity = SceneManager.GetSceneByName(sceneCityName).name;
            UnityLog.LogC(string.Format("@VinD: UserProfileData.Ins.currentCity = {0}", UserProfileData.Ins.currentCity));
            
            Debug.Log($"[IEGoToCity] 10");
        }