Exemple #1
0
    public static SoundPlayObj GetSoundPlayObj()
    {
        SoundPlayObj _obj = null;

        try{
            while (_obj == null)
            {
                _obj = soundObjPoolList.Dequeue();
            }
        }catch (InvalidOperationException) {}

        if (_obj == null)
        {
            _obj = new GameObject().AddComponent <SoundPlayObj>();
            _obj.transform.SetParent(instance.transform);
        }
        _obj.gameObject.SetActive(true);
        _obj.id   = tempId;
        _obj.name = "Sound Obj " + tempId;

        soundObjPlayingDict.Add(tempId, _obj);

        tempId++;
        return(_obj);
    }
Exemple #2
0
    void Update()
    {
//		撥放聲音
        SoundManager.Play("Table", "Sound", 1, false);
//		p_table  string 音效表名
//		p_key  string 音效名
//		p_volume float (可選)次音量(0~1),真正的撥出音量會再乘上配置的主音量
//		p_loop  bool (可選)是否循環

//		停止聲音
        SoundManager.Stop("Table", "Sound");
//		p_table  string 音效表名
//		p_key  string 音效名

//		停止特定物件聲音
        SoundPlayObj _Obj = SoundManager.Play("Table", "Sound");

        SoundManager.StopSoundPlayObj(_Obj);

//		調整一個配置的主音量
        SoundManager.SetVolumeByConfigName("Config", 1);
//		p_configName  string 音效配置名
//		p_volume float 音量(0~1)

//		開關一個配置的靜音狀態
        SoundManager.SetMuteByConfigName("Config", true);
//		p_configName  string 音效配置名
//		p_mute bool 是否靜音
    }
Exemple #3
0
    public SoundPlayObj Play(float p_volume, bool p_loop)
    {
        SoundPlayObj _obj = SoundManager.GetSoundPlayObj();

        soundObjDict.Add(_obj.id, _obj);
        _obj.Play(this, p_volume, p_loop);
        return(_obj);
    }
Exemple #4
0
    public static void StopSoundPlayObj(SoundPlayObj _obj)
    {
        soundObjPlayingDict.Remove(_obj.id);
        _obj.soundData.RemoveObj(_obj.id);

        _obj.gameObject.SetActive(false);
        _obj.id   = -1;
        _obj.name = "Sound Obj (Close)";
        soundObjPoolList.Enqueue(_obj);
    }
Exemple #5
0
 public void PlayByDefaultTable(string p_key)
 {
     soundPlayObj = SoundManager.Play(table, p_key);
 }