Example #1
0
        //场景加载完成并初始化
        public void sceneLoadCompleteAndInit(string strSceneName, SceneConfig config)
        {
            _sceneMono = null;
            if (pCurScene != null)
            {
                Destroy(pCurScene);
            }

            _taskLoadScene = null;
            GameObject curScene = GameObject.Find("Scene");

            if (pLoadingScene != null)
            {
                pCurScene = pLoadingScene;
                pCurScene.transform.name = "Scene";
                pLoadingScene            = null;
            }
            else
            {
                pCurScene = curScene;
            }


            sCurSenceName = strSceneName;

            if (pCurScene == null)
            {
                return;
            }

            Transform tfWorld = pCurScene.transform.Find("World");

            if (tfWorld != null)
            {
                tfWorld.gameObject.SetActive(true);
            }
            Transform tfCameras = pCurScene.transform.Find("Cameras");

            if (tfCameras != null)
            {
                tfCameras.gameObject.SetActive(true);
            }

            Transform uiCamObj = pCurScene.transform.Find("Cameras/UICamera");

            if (uiCamObj)
            {
                uiCamObj.gameObject.SetActive(false);
            }


            FollowToSceneCamera follower  = null;
            GameObject          pListener = GameObject.Find("Listener");//声音接收者

            if (pListener == null)
            {
                pListener = new GameObject("Listener");
                pListener.AddComponent <AudioListener>();
                follower = pListener.AddComponent <FollowToSceneCamera>();
                DontDestroyOnLoad(pListener);
            }
            else
            {
                follower = pListener.GetComponent <FollowToSceneCamera>();
            }
            sceneCameraObj = pCurScene.transform.Find("Cameras/SceneCamera").gameObject;
            if (sceneCameraObj && !sceneCameraObj.GetComponent <CameraAjustor>())
            {
                sceneCameraObj.AddComponent <CameraAjustor>();
                follower.camera_tf = sceneCameraObj.transform;

                AudioListener lisener = sceneCameraObj.GetComponent <AudioListener>();
                GameObject.Destroy(lisener);
            }

            //音源
            if (config.battleScene == 1)
            {
                UtilTools.MultiTouchSwitch(true);
                // _sceneMono = pCurScene.AddComponent<BattleScene>() as BaseScene;
            }
            else
            {
                BGM csBGM = pCurScene.AddComponent <BGM>();
                UtilTools.MultiTouchSwitch(false);
                switch (strSceneName)
                {
                case SceneName.s_StartupScene:
                    _sceneMono             = curScene.GetComponent <StartUpScene>() as BaseScene;
                    csBGM.strAudioClipName = "Sounds/BGM/bgm_login_loop";
                    break;

                case SceneName.s_LoadingScene:
                    _sceneMono = pCurScene.AddComponent <LoadingScene>();
                    break;

                default:
                    _sceneMono = pCurScene.AddComponent <BaseScene>();
                    break;
                }

//                 if (strSceneName != SceneName.s_StartupScene && strSceneName != SceneName.s_LoadingScene)
//                 {
//                     AllServerBroadcastController controller_temp = (AllServerBroadcastController)UIManager.GetControler(UIName.ALL_SERVER_BROADCAST);
//                     if (controller_temp != null)
//                     {
//                         controller_temp.ContinuePlay();
//                     }
//                 }
            }
        }
Example #2
0
        //加载
        private void Awake()
        {
            bCanClick = true;
            Caching.CleanCache();
            FollowToSceneCamera follower  = null;
            GameObject          pListener = GameObject.Find("Listener");//声音接收者

            if (pListener == null)
            {
                pListener = new GameObject("Listener");
                pListener.AddComponent <AudioListener>();
                follower = pListener.AddComponent <FollowToSceneCamera>();
                DontDestroyOnLoad(pListener);
            }
            else
            {
                follower = pListener.GetComponent <FollowToSceneCamera>();
            }

            GameObject pSingletonObj = GameObject.Find("Singleton");

            if (pSingletonObj == null)
            {
                pSingletonObj = new GameObject("Singleton");
                pSingletonObj.transform.position = default(Vector3);
            }
            DontDestroyOnLoad(pSingletonObj);

            if (SDKManager.isAppStoreVersion())
            {
                if (pSingletonObj.GetComponent <ObjectCCallback>() == null)
                {
                    pSingletonObj.AddComponent <ObjectCCallback>();
                    Utils.LogSys.Log("XXXXXXXXXXXXXXXX--Add ObjectCCallback--XXXXXXXXXXXXXXXX");
                }
            }

            DestroyUnUsedUIRoot();

            GameObject camObj1 = GameObject.Find("Scene/Cameras/SceneCamera");

            if (camObj1 && !camObj1.GetComponent <CameraAjustor>())
            {
                camObj1.AddComponent <CameraAjustor>();
                follower.camera_tf = camObj1.transform;
            }

            GameObject camObj2 = GameObject.Find("UIRoot/UICamera");

            if (camObj2 && !camObj2.GetComponent <CameraAjustor>())
            {
                camObj2.SetActive(true);
                camObj2.AddComponent <CameraAjustor>();
            }
            GameSceneManager.uiCameraObj = camObj2;
            GameObject versionUpdate = GameObject.Find("VersionUpdate");

            //versionUpdate.transform.parent = GameObject.Find("UIRoot").transform;
            //DontDestroyOnLoad(versionUpdate.gameObject);
            CheckGameHead();
            versionUpdate.gameObject.SetActive(true);
            //uiBattlePauseController.GetPreState();//获取声音设置

            GameSceneManager.getInstance().SceneMono = this;
            bCanClick = true;
        }