/// <summary> /// 删除所有音效 /// </summary> public static void DeleteAll() { SoundPlayHandler.ClearData(); foreach (HashSet <Sound> temp in m_ActiveTable.Values) { foreach (Sound instance in temp) { if (instance) { instance.Clear(); GameObject.DestroyImmediate(instance.gameObject); } } temp.Clear(); } foreach (Sound temp in m_CacheList) { if (temp) { temp.Clear(); GameObject.DestroyImmediate(temp.gameObject); } } m_CacheList.Clear(); m_ActiveTable.Clear(); }
/// <summary> /// 卸载 /// </summary> public static void Clear() { DeleteAll(); UnLoadSoundConfig(); m_VolumeTable.Clear(); m_CorrectTable.Clear(); m_MixerGroupTable.Clear(); m_MixerSnapshotTable.Clear(); ResNode.DestroyRes(ref SoundParentRoot); ResNode.DestroyRes(ref SoundCacheParentRoot); if (audioMixer != null) { Resources.UnloadAsset(audioMixer); } SoundParentRoot = null; SoundCacheParentRoot = null; audioMixer = null; Initialize.onApplicationFocusChangeEvent.RemoveListener(OnFocusChange); SoundPlayHandler.Clear(); bInit = false; }
protected override void PostSetVisible(bool _bVisible) { base.PostSetVisible(_bVisible); if (_bVisible) { SoundPlayHandler.PlaySceneSound((int)EMBGMRule.SupportPlayer); SceneManager.Instance.LoadWarSupportPlayerViewScene(SetRoomShowAfterLoadScene); } }
private void onLeaveLoadSceneState() { //Debug.Log("onLeaveMigrateState"); UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_COMMOM_LOADSCENESTATE_LEAVE, null); SoundManager.DeleteSound((int)SoundIDIndex.MapLogin); SoundPlayHandler.PlaySceneSound(getSoundID()); }
// 当点击取消按钮时退出战场进入静态场景 public void onChickReturnButton() { SoundPlayHandler.StopSceneSound(); ViewEventHelper.Instance.SendCommand(GameLogicDef.GVIEWCMD_USER_BACK_GAME); // 隐藏聊天框 ChatForceConditionHide ChatData = new ChatForceConditionHide(); ChatData.bForceHide = true; UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_CHATBOX_CONDITIONHIDE, ChatData); LogicDataCenter.chatMessageManager.clearAllChatMsgData(); }
// 游戏中途退出战场进入主城 public void onReqExitWar() { Debug.Log("onReqExitWar"); SoundPlayHandler.StopSceneSound(); EntityEventHelper.Instance.SendCommand(EntityFactory.MainHeroID, EntityLogicDef.ENTITY_CMD_REQ_EXIT_WAR); // 隐藏聊天框 ChatForceConditionHide ChatData = new ChatForceConditionHide(); ChatData.bForceHide = true; UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_CHATBOX_CONDITIONHIDE, ChatData); }
/// <summary> /// 初始化 /// </summary> public static void Init() { if (bInit) { return; } SoundPlayHandler.Init(); if (!LoadSoundConfig(ref m_DataTable)) { Clear(); return; } Load(); bInit = true; }
// 离开状态 public void OnLeave() { if (!m_pFSM) { return; } Trace.Log(m_pFSM.name + "=======OnLeave CreaturePosture_Dead======"); //死亡动作在攻击层调用,这里结束掉死亡动作 m_pFSM.BreakAttackAnim(); SkillCtrl sk = m_pFSM.GetComponent <SkillCtrl>(); if (sk) { sk.enabled = true; } if (m_pFSM.isHero) //复活时切回主角镜头 { SoldierCamera.MainInstance <SoldierCamera>().EnableMode(CameraMode.DeadControl, false); } SoldierController sco = m_pFSM.GetComponent <SoldierController>(); if (sco) { sco.dead = false; sco.desireAngle = m_pFSM.transform.localEulerAngles; //sco.bindSoldierCamera.Reset(); 2016-09-22,策划需求,复活后摄像机位置保持原来跟角色的位置,不重置,改为仅取消effect CameraEffectUtil.MainInstance.stopEffect(); } if (m_pFSM.isHero) { //ImageEffects.ImageEffectManager.API_DisableImageEffect<ImageEffects.FullScreenGray>(); LightingEffectFactory.DisableDeadEffect(); ImageEffects.ImageEffectManager.API_DisableImageEffect <ImageEffects.FullScreenSaturation>(); ImageEffects.ImageEffectManager.API_EnableImageEffect <ImageEffects.DepthOfFieldScatter>(); } //恢复死亡不碰撞 if (m_pFSM.controller) { m_pFSM.pickableCount++; //if (true==m_pFSM.GetVisible()) //{ // m_pFSM.gameObject.layer = m_pFSM.baseLayer; //} } ////实体复活不是重新发下来的,在这里改回原来的层 //if (!m_pFSM.isHero) //{ // GameUtil.SetLayer(nOldLayer, m_pFSM.gameObject, true); // //m_pFSM.gameObject.layer = nOldLayer; // //if (m_pFSM.SkinConfig.ScreenCastObject != null) // //{ // // m_pFSM.SkinConfig.ScreenCastObject.layer = nOldLayer; // //} //} if (m_pFSM.animator) { Trace.Log("SetTrigger(Reborn)"); m_pFSM.animator.SetTrigger("Reborn"); m_pFSM.animator.ResetTrigger("Dead"); m_pFSM.animator.speed = 1; } //GfxBloodManager.OnEntityRelive(m_pFSM.entityID, ENTITY_TYPE.TYPE_PLAYER_ROLE); USpeedUI.Blood.UBloodManager.Instance.OnEntityRelive(m_pFSM.entityID, ENTITY_TYPE.TYPE_PLAYER_ROLE); //TopNameManager.OnEntityRelive(m_pFSM.entityID, ENTITY_TYPE.TYPE_PLAYER_ROLE); //某些特效,在模型死亡时,会将模型隐藏起来,复活的时候设置为可见 m_pFSM.SetVisible(m_pFSM.m_OnViewVisible); // // 小地图显示 // U3D_Render.EntityView objev = EntityFactory.getEntityViewByID(m_pFSM.entityID); // if (objev != null) // { // GFxMinimapManager.Instance.SetObjectVisible(m_pFSM.entityID, objev.createinfo.nMinimapIcon, 1); // } U3D_Render.EntityView objev = EntityFactory.getPlayerViewByID(m_pFSM.entityID); if (objev != null && objev.gameObject != null && objev.Property != null) { int nHeroID = objev.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_VOCATION); SoundPlayHandler.PlayHeroRandomSound(nHeroID, m_pFSM.entityID, objev.gameObject, ASpeedGame.Data.Scheme.EMHeroSoundType.EHeroSound_Relive); } }