void Awake() { _controller = (FadeInWinController)UIManager.GetControler(UIName.FADE_IN_WIN); _bg = transform.Find("bg").GetComponent <UIWidget>(); _bg.alpha = 0f; _controller.RegisterUIEvent(UIEventID.CREATE_WIN_ACTION, UICreateAction); _controller.RegisterUIEvent(UIEventID.DESTROY_WIN_ACTION, UIDestroyAction); }
private void OnFadeOutWin() { FadeInWinController controller = (FadeInWinController)UIManager.GetControler(UIName.FADE_IN_WIN); controller.FadeOutBlack(); }
/// <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); } } }