/// <summary> /// 开头动画播放完成回调 /// </summary> public void OnMovieFinished() { //开启所有已生成 if (MainHerpEv != null) { MainHerpObj.SetActive(true); MainHerpObj = null; MainHerpEv = null; } //开启玩家控制输入*** if (MainSkillCtrl != null) { MainSkillCtrl.enable = true; MainSkillCtrl = null; } if (MainMouseCtrl != null) { MainMouseCtrl.enabled = true; MainMouseCtrl = null; } if (m_SkinControl != null) { //m_SkinControl.UnRegsiterSkinChangedEvent(OnSkinChanged); m_SkinControl = null; } LogicDataCenter.onEnterBattleState(); //UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_COMMON_BATTLESTATE_ENTER, null); //EntityFactory.CreateMainHeroEntityEvent -= OnHeroEntityLoadComplete; //MainHerpEv.LightingEffectManager.UnRegisterEffectComplete(333, OnMovieFinished); //开启音效 //开启光效 }
//进入Moba战场状态的操作 private void onEnterBattleState() { ////////////////////////////////////////////////////////////////////////// //加载Moba战场所需要的配置文件 //注意:目前没写卸载战场的配置文件部分 // 暂时加的参数之后要修改 //ViewConfigManager.LoadMobaConfigs(5); ////////////////////////////////////////////////////////////////////////// //创建Moba战场需要的界面 //注意:目前还没写卸载战场界面部分 //全部默认为显示 // if (CurrentStageState == EStage_State.ESS_BATTLE) // { // LoadingWindow.LeaveMovie(); //} //一进战场统一关闭死亡光效 ImageEffects.ImageEffectManager.API_DisableImageEffect <ImageEffects.FullScreenSaturation>(); ImageEffects.ImageEffectManager.API_EnableImageEffect <ImageEffects.DepthOfFieldScatter>(); //一进战场统一关闭战争迷雾 WarFogManager.Instance.End(); //Debug.Log("Create Game Hud..."); CurStageSubState = EStage_SubState.ESSS_WAR; LogicDataCenter.onEnterBattleState(); EnterBattle(); // UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_COMMON_BATTLESTATE_ENTER, null); }
//准备切换Moba场景前的操作 public override void onReadyToLoadMobaScene() { Initialize.Instance.ResetGameManager(); LogicDataCenter.onEnterLoginMobaState(); UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_COMMON_LOGINMOBA, null); }
//进入登录状态的操作 private void onEnterLoginState() { FuntionShortCutCtrl.GetInstance().ClearAndRest(); LogicDataCenter.onEnterLoginState(); CurStageSubState = EStage_SubState.ESSS_NONE; UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_COMMON_LOGINSTATE_ENTER, null); }
//进入游戏状态的操作 private void onEnterGameState() { //GameContextManager.UIContextView.SpawnContextView(EContextViewType.EGameContextView); //LogicDataCenter.playerSystemDataManager.Reset(); CurStageSubState = EStage_SubState.ESSS_NONE; UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_COMMOM_STATICGAMESTATE_ENTER, null); LogicDataCenter.ClearInEnterStaticGameState(); }
private void onLeaveBattleState() { //Debug.Log("Leave Battle State..."); CurPermissionState = EStage_PermissionState.ESPS_NORMAL; USpeedUI.Blood.UBloodManager.Instance.DestroyALL(); UTopNameManager.Instance.PreWarmTopName(); ViewConfigManager.UnLoadMobaConfigs(); LogicDataCenter.onLeaveBattleState(); InputManager.Available = true; SoundManager.DeleteAll(); UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_COMMON_BATTLESTATE_LEAVE, null); }
/// <summary> /// 创建通用逻辑模块,主场景和战斗场景均使用,依赖配置表,通常情况下需要更新资源后再执行 /// </summary> public IEnumerator CreateEnumerator() { bCreated = false; Type[] types = new Type[] { typeof(AssetSystem), typeof(ShaderLib), typeof(SceneManager), typeof(NatureManager), typeof(WarFogManager), }; CreateModulesAsyn(types); //wait another coroutine finish while (true) { yield return(new WaitForEndOfFrame()); bool bOK = (CreatingModules.Count == 0); if (bOK) { break; } } yield return(new WaitForSeconds(0.1f)); if (!Application.isEditor && System.IO.File.Exists("BreakPoint.txt")) { GameUtil.MsgBox(m_WindowHwnd, "挂断点", "调试", 0); } if (!RenderViewAPI.Start()) { Trace.LogError("Game Start Service failure"); yield break; } Trace.Log("Game Start Service successed"); // 初始化 gameObject.AddComponent <GameViewCommandHandler>(); OnDeviceStateChage += OnDeviceStateChange; // 初始化游戏接口 IntPtrHelper helper = new IntPtrHelper(); //GameLogicAPI.Start(ASpeedGame.Data.GameSettingsXml.GameSettingsXmlManager.Instance.GameSettingsModel.enableMultiThread.AValue, // helper.toPtr(ref RenderViewAPI.g_RenderView)); GameLogicAPI.Start(helper.toPtr(ref RenderViewAPI.g_RenderView)); yield return(new WaitForSeconds(1.0f)); PrintTickCheck("初始化逻辑层API,至少等了1秒", CostThreshold_Lv1, _bStart: true); // 显示层配置价值 ViewConfigManager.Init(); PrintTickCheck("ViewConfigManager.Init"); //资源是要配置初始化 AssetBundleManager.Init(); PrintTickCheck("AssetBundleManager.Init"); LogicDataCenter.Init(); PrintTickCheck("LogicDataCenter.Init"); ImageSetting.Init(); PrintTickCheck("ImageSetting.Init"); ImageEffectManager.API_GameStart(); PrintTickCheck("ImageEffectManager.Init"); //GameViewCommandHandler.Instance.Start(); MouseCursorManager.Instance.InitMouseCursorManager(); PrintTickCheck("MouseCursorManager.Init"); // 初始化实体接口,依赖上面的物件管理器所以顺序不能换 EntityFactory.Init(); PrintTickCheck("EntityFactory.Init"); PrefabManager.Init(); PrintTickCheck("PrefabManager.Init"); SkinManager.Init(); PrintTickCheck("SkinManager.Init"); SoundManager.Init(); PrintTickCheck("SoundManager.Init"); UISystem.Init(); PrintTickCheck("UISystem.Init"); UTopNameManager.Init(); PrintTickCheck("UTopNameManager.Init"); USpeedUI.Blood.UBloodManager.Init(); PrintTickCheck("UBloodManager.Init"); InputManager.Init(); PrintTickCheck("InputManager.Init"); Effect.EffectNode.InitTargetCache(); PrintTickCheck("Effect.EffectNode.InitTargetCache.Init"); GUIDE.GuideManager.Init(); PrintTickCheck(" GUIDE.GuideManager.Init"); SceneEffectManager.Init(); PrintTickCheck("SceneEffectManager.Init"); if (LightingEffectFactory.Instance) { LightingEffectFactory.Instance.InitWhenGameStart(); } PrintTickCheck("LightingEffectFactory.Init"); SafeZoneEffectManager.Init(); PrintTickCheck("SafeZoneEffectManager.Init"); ImageSetting.TraceSettings(); bCreated = true; List <string> argList = new List <string>(); argList.AddRange(System.Environment.GetCommandLineArgs()); CkeckUpdateOk(ref argList); PrintTickCheck("CkeckUpdateOk"); CheckMultclient(); PrintTickCheck("CheckMultclient"); StageManager.Init(); AssetBundleManager.DeleteAssets(ref LoadingWaitngResNode, true); }