Beispiel #1
0
    /// <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();
    }
Beispiel #2
0
    /// <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;
    }
Beispiel #3
0
 protected override void PostSetVisible(bool _bVisible)
 {
     base.PostSetVisible(_bVisible);
     if (_bVisible)
     {
         SoundPlayHandler.PlaySceneSound((int)EMBGMRule.SupportPlayer);
         SceneManager.Instance.LoadWarSupportPlayerViewScene(SetRoomShowAfterLoadScene);
     }
 }
Beispiel #4
0
    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();
        }
Beispiel #6
0
        // 游戏中途退出战场进入主城
        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);
        }
Beispiel #7
0
    /// <summary>
    /// 初始化
    /// </summary>
    public static void Init()
    {
        if (bInit)
        {
            return;
        }

        SoundPlayHandler.Init();

        if (!LoadSoundConfig(ref m_DataTable))
        {
            Clear();
            return;
        }

        Load();
        bInit = true;
    }
Beispiel #8
0
    // 离开状态
    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);
        }
    }