Esempio n. 1
0
    void Awake()
    {
        _controller = (LoadingWinController)UIManager.GetControler(UIName.LOADING_WIN);
        BGM bgm = GameSceneManager.getInstance().CurSceneObject.GetComponent <BGM>();

        if (bgm != null)
        {
            Destroy(bgm);
        }
        _fadeInDel  = new EventDelegate(OnCreateActoinComplete);
        _fadeOutDel = new EventDelegate(OnDestroyActoinComplete);

        _bg = transform.Find("Container").GetComponent <UIWidget>();

        _bg.alpha = 0f;

        _controller.RegisterUIEvent(UIEventID.CREATE_WIN_ACTION, UICreateAction);
        _controller.RegisterUIEvent(UIEventID.DESTROY_WIN_ACTION, UIDestroyAction);
    }
Esempio n. 2
0
        //步骤4:渐隐加载界面
        public void OnFadeOutLoadingWin()
        {
            LoadingWinController controller = (LoadingWinController)UIManager.GetControler(UIName.LOADING_WIN);

            controller.FadeOutWin();
        }
Esempio n. 3
0
        /// <summary>
        /// 跳到场景
        /// </summary>
        /// <param name="strSceneName"></param>
        public void ChangeToSceneImpl(string strSceneName)
        {
            if (sCurSenceName == strSceneName)
            {
                return;
            }
            if (!dicSceneCofig.ContainsKey(strSceneName))
            {
                return;
            }

            SceneConfig config = dicSceneCofig[strSceneName];

            if (config.nOpenType == 1)// 直接切换场景
            {
                ClearBackSceneList();

                if (_taskLoadScene == null)
                {
                    LoadSceneInBack(strSceneName);//加载
                    _taskLoadScene.ToShowScene();
                }

                //切换完成的回调
                _taskLoadScene.EventFinished += new TaskBase.FinishedHandler(delegate(bool manual, TaskBase currentTask)
                {
                    if (!manual)//非被中断
                    {
                        onLoadComplete(strSceneName, config);
                        OnAddMonoComplete(strSceneName, config);//再加载部件,后渐隐过渡界面
                    }
                });
                //_taskLoadScene.ToShowScene();
            }
            else if (config.nOpenType == 2)// 附加场景(表现:当前场景渐黑后,显示附加的场景)
            {
                if (_taskLoadScene == null)
                {
                    LoadSceneInBack(strSceneName);//加载场景
                }
                FadeInWinController controller = (FadeInWinController)UIManager.GetControler(UIName.FADE_IN_WIN);

                //渐黑后的回调
                DelegateType.FadeInBlackCallback callback = new DelegateType.FadeInBlackCallback(delegate(string sceneName, SceneConfig scene_config)
                {
                    _taskLoadScene.ToShowScene();
                    CurSceneInToBack();
                });

                //附加完成的回调
                _taskLoadScene.EventFinished += new TaskBase.FinishedHandler(delegate(bool manual, TaskBase currentTask)
                {
                    if (!manual)//非被中断
                    {
                        onLoadComplete(strSceneName, config);
                        OnAddMonoComplete(strSceneName, config);//再加载部件,后渐隐过渡界面
                    }
                });

                controller.FadeInBlack(callback);                                       //渐显黑色界面后,触发回调加载场景
            }
            else if (config.nOpenType == 3)                                             // 大场景切换(先渐黑,然后切到加载场景,再附加新场景,后删除加载场景)
            {
                if (_taskLoadScene != null && _taskLoadScene._taskName != strSceneName) //当前不是加载场景的要中断
                {
                    _taskLoadScene.stop();
                    _taskLoadScene = null;
                }

                LoadingWinController controller = (LoadingWinController)UIManager.GetControler(UIName.LOADING_WIN);

                //步骤1:先显示云过滤界面
                if (strSceneName == SceneName.s_LoadingScene)
                {
                    controller.FadeInWin(strSceneName, config, OnDestroyOldScene);//渐显界面后,触发回调
                }
                else
                {
                    OnDestroyOldScene(strSceneName, config);
                }
            }
        }