Пример #1
0
        //音效滑动条
        public void SetSoundEffectsslider()
        {
            float value = ClientGlobal.Instance().gameOption.GetInt("Sound", "SoundEffectsslider", 0) / 100.0f;

            Engine.IAudio au = Engine.RareEngine.Instance().GetAudio();
            au.SetEffectVolume(value);
        }
Пример #2
0
    public void PlayCreateAudio(uint audioID)
    {
        Engine.IAudio audio = Engine.RareEngine.Instance().GetAudio();
        if (audio != null)
        {
            audio.StopEffect(m_uAudioID);
        }
        if (audioID == 0)
        {
            return;
        }
        table.ResourceDataBase resDB = GameTableManager.Instance.GetTableItem <table.ResourceDataBase>(audioID);


        if (audio != null && resDB != null)
        {
            if (MainPlayerHelper.GetMainPlayer() != null)
            {
                if (MainPlayerHelper.GetMainPlayer().GetNode() != null)
                {
                    if (MainPlayerHelper.GetMainPlayer().GetTransForm() != null)
                    {
                        m_uAudioID = audio.PlayEffect(MainPlayerHelper.GetMainPlayer().GetNode().GetTransForm().gameObject, resDB.strPath, false, true);
                    }
                }
            }
        }
    }
Пример #3
0
        public void SetCheckSound()
        {
            bool value = ClientGlobal.Instance().gameOption.GetInt("Sound", "CheckSound", 1) == 1;

            Engine.IAudio au = Engine.RareEngine.Instance().GetAudio();
            au.Mute(value);
            cancelSound = value;
        }
Пример #4
0
 void PlayAudio(GameObject go, string path)
 {
     Engine.IAudio audio = Engine.RareEngine.Instance().GetAudio();
     if (audio == null)
     {
         return;
     }
     audio.PlayEffect(go, path);
 }
Пример #5
0
 //         //音效开关
 //         public void SetCheckSoundEffects()
 //         {
 //             int value = ClientGlobal.Instance().gameOption.GetInt("Sound", "CheckSoundEffects", 1);
 //         }
 //         //技能声音开关
 //         public void SetCheckVoice()
 //         {
 //             int value = ClientGlobal.Instance().gameOption.GetInt("Sound", "CheckVoice", 1);
 //         }
 //音量滑动条
 public void Setsoundslider()
 {
     if (!cancelSound)
     {
         float         value = ClientGlobal.Instance().gameOption.GetInt("Sound", "soundslider", 0) / 100.0f;
         Engine.IAudio au    = Engine.RareEngine.Instance().GetAudio();
         au.SetMusicVolume(value);
     }
 }
Пример #6
0
 public void ReqPlaySound(string snd_name)
 {
     Engine.IAudio audio = Engine.RareEngine.Instance().GetAudio();
     if (audio != null)
     {
         audio.StopMusic();
     }
     //Camera.main
     audio.PlayEffect(Camera.main.gameObject, snd_name);
 }
Пример #7
0
 void PlayAudio(GameObject go, string path)
 {
     Profiler.BeginSample("PlayAudio");
     Engine.IAudio audio = Engine.RareEngine.Instance().GetAudio();
     if (audio == null)
     {
         return;
     }
     audio.PlayEffect(go, path);
     Profiler.EndSample();
 }
Пример #8
0
 /// <summary>
 /// 播放UI音效
 /// </summary>
 /// <param name="audioID"></param>
 public void PlayUIAudioEffect(uint audioID)
 {
     if (audioID != 0)
     {
         Engine.IAudio audio = Engine.RareEngine.Instance().GetAudio();
         if (audio != null)
         {
             table.ResourceDataBase rd = GameTableManager.Instance.GetTableItem <table.ResourceDataBase>((uint)audioID);
             if (rd != null)
             {
                 audio.PlayUIEffect(rd.strPath);
             }
         }
     }
 }
Пример #9
0
    public void CreateMainCamera(bool active)
    {
        // 逻辑层初始化
        IRenderSystem renderSys = RareEngine.Instance().GetRenderSystem();

        if (renderSys == null)
        {
            Log.Error("RenderSystem is null!");
            // return;
        }

        // 设置主Camera
        string  strCameraName = "MainCamera";
        ICamera cam           = renderSys.GetCamera(ref strCameraName);

        if (cam != null)
        {
            cam.Enable(active);
            return;
        }

        cam = renderSys.CreateCamera(ref strCameraName, 0.3f, 140f, 45f, -1, CameraClearFlags.Skybox);
        if (cam != null)
        {
            Camera        camera   = cam.GetNode().GetTransForm().gameObject.GetComponent <Camera>();
            AudioListener listener = camera.transform.GetComponent <AudioListener>();
            if (listener != null)
            {
                GameObject.Destroy(listener);
            }
            CameraFollow.Instance.camera = cam;
            Engine.IAudio audio = Engine.RareEngine.Instance().GetAudio();
            if (audio != null)
            {
                audio.SetListener(CameraFollow.Instance.CreateAudioListener());
            }

            camera.cullingMask = -1 - (1 << LayerMask.NameToLayer("UI")) - (1 << LayerMask.NameToLayer("ShowModel")) - (1 << LayerMask.NameToLayer("UIHide"));
            camera.tag         = strCameraName;
            cam.SetDepth((float)Engine.CameraDepth.Scene);
            cam.LookAt(new Vector3(0, 3, 5), new Vector3(0, 0, 0), new Vector3(0, 1, 0));
            UnityEngine.MonoBehaviour.DontDestroyOnLoad(camera.gameObject);
            cam.Enable(active);
        }
    }
Пример #10
0
    void PlayCreateAudio(int profession)
    {
        Engine.IAudio audio = Engine.RareEngine.Instance().GetAudio();
        if (audio == null)
        {
            return;
        }
        audio.StopEffect(m_uAudioID);
        float originVol        = 1;
        SelectRoleDataBase sdb = SelectRoleDataBase.Where((enumProfession)profession, (enmCharSex)1);

        if (sdb != null)
        {
            uint audioID = sdb.createAudioID;
            table.ResourceDataBase resDB = GameTableManager.Instance.GetTableItem <table.ResourceDataBase>(audioID);

            if (audio != null && resDB != null)
            {
                if (m_audioSource != null)
                {
                    m_audioSource.volume = 0.2f;
                }
                if (m_Avater != null)
                {
                    if (m_Avater.RenderObj != null)
                    {
                        if (m_Avater.RenderObj.GetNode() != null)
                        {
                            if (m_Avater.RenderObj.GetNode().GetTransForm() != null)
                            {
                                m_uAudioID = audio.PlayEffect(m_Avater.RenderObj.GetNode().GetTransForm().gameObject, resDB.strPath, endCallback: () => {
                                    if (m_audioSource != null)
                                    {
                                        m_audioSource.volume = originVol;
                                    }
                                });
                            }
                        }
                    }
                }
            }
        }
    }
Пример #11
0
        //-------------------------------------------------------------------------------------------------------

        /**
         * @brief 播放背景音乐
         * @param
         */
        private void PlayBGMusic()
        {
            table.MapDataBase mapDB = GameTableManager.Instance.GetTableItem <table.MapDataBase>(mapID);
            if (mapDB == null)
            {
                Engine.Utility.Log.Error("MapSystem:找不到地图配置数据{0}", mapID);
                return;
            }

            table.ResourceDataBase resDB = GameTableManager.Instance.GetTableItem <table.ResourceDataBase>(mapDB.dwbgm);
            if (resDB == null)
            {
                Engine.Utility.Log.Error("MapSystem:找不到地图资源路径配置{0}", mapDB.dwResPath);
                return;
            }

            Engine.IAudio audio = Engine.RareEngine.Instance().GetAudio();
            if (audio != null)
            {
                audio.PlayMusic(resDB.strPath);
            }
        }
Пример #12
0
        //-------------------------------------------------------------------------------------------------------

        /**
         * @brief 进入地图
         * @param nMapID 地图ID
         */
        public void EnterMap(uint nMapID, Vector3 pos)
        {
            // 读取地图配置表
            Engine.IRenderSystem rs = Engine.RareEngine.Instance().GetRenderSystem();
            Engine.Utility.Log.Info("EnterMapStart");
            if (rs != null)
            {
                if (nMapID == mapID)
                {
                    return;
                }

                Engine.Utility.Log.Info("EnterMapStart mapID");
                // 停止背景音乐
                Engine.IAudio audio = Engine.RareEngine.Instance().GetAudio();
                if (audio != null)
                {
                    audio.StopMusic();
                }

                // 离开当前场景
                Process = 0f;
                Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.ENTITYSYSTEM_LEAVEMAP, mapID);
                //进入下一个地图
                Engine.Utility.Log.Info("EnterMapStart 离开当前场景");
                table.MapDataBase mapDB = GameTableManager.Instance.GetTableItem <table.MapDataBase>(nMapID);
                if (mapDB == null)
                {
                    Engine.Utility.Log.Error("MapSystem:找不到地图配置数据{0}", nMapID);
                    return;
                }
                Engine.Utility.Log.Info("EnterMapStart 离开当前场景 table.MapDataBase mapDB ");
                table.ResourceDataBase resDB = GameTableManager.Instance.GetTableItem <table.ResourceDataBase>(mapDB.dwResPath);
                if (resDB == null)
                {
                    Engine.Utility.Log.Error("MapSystem:找不到地图资源路径配置{0}", mapDB.dwResPath);
                    return;
                }
                temptime = Time.realtimeSinceStartup;
                lastInfo = "none";
                // 创建寻路模块
                mapID = nMapID;
                // 预加载
                mapName = mapDB.strName;// string.Format("{0}({1})", mapDB.strName, uCountryid);

                // 不是中转空场景
                if (nMapID != GameTableManager.Instance.GetClientGlobalConst <int>("map", "emptyid"))
                {
                    Engine.Utility.Log.Info("EnterMapStart 读取地图配置表 ");
                    // 读取地图配置表
                    string strMapName = resDB.strPath.ToLower();
                    m_strMapTexturePath = strMapName.Replace(".map", "").Substring(strMapName.LastIndexOf('/') + 1);
                    Engine.IScene scene = rs.EnterScene(ref strMapName, this);
                    if (scene != null)
                    {
                        scene.StartLoad(pos);
                    }

                    Engine.Utility.Log.Info("EnterMapStart EnterScene name:{0} ", strMapName);
                    // 场景npc配置
                    LoadClientMap(mapDB.miniMapInfo.ToLower());

                    //LoadClienMapArea(strMapName.ToLower().Replace(".map", ".ar"));

                    //SpanUtil.Start();
                    //if (Application.platform == RuntimePlatform.WindowsEditor)
                    //{
                    Profiler.BeginSample("LoadARFile");
                    MapAreaDisplay.Instance.LoadARFile(strMapName.ToLower().Replace(".map", ".ar"));
                    Profiler.EndSample();
                    //}
                    //SpanUtil.Stop(strMapName + "  ar  ");

                    string strMPSName = strMapName.Replace(".map", ".mps").ToLower();
                    // 读取地表障碍信息
                    LoadObstacle(strMPSName);
                    //SpanUtil.Stop(strMapName + "  地表障碍信息  ");
                }
            }
            else
            {
                Engine.Utility.Log.Error("MapSystem:IRenderSystem为空");
            }
            Engine.Utility.EventEngine.Instance().DispatchEvent((int)(int)Client.GameEventID.ENTITYSYSTEM_ENTERMAP, mapID);
        }