Esempio n. 1
0
    public void PlaySFX(AudioClip clip, Vector3 pos)
    {
        SFXAudio sfx = GetAPoolObject().GetComponent <SFXAudio>();

        sfx.transform.position = pos;
        sfx.PlaySFX(clip);
    }
Esempio n. 2
0
    public void PlaySFX(AudioClip clip, Vector3 pos, float volume = 0.5f)
    {
        SFXAudio sfx = GetAPoolObject().GetComponent <SFXAudio>();

        sfx.transform.position = pos;
        sfx.PlayClip(clip, volume);
    }
Esempio n. 3
0
    /// <summary>
    /// 播放音效,可以压低BGM的音量,设置音效播放的目标
    /// </summary>
    /// <param name="target">要发声的对象</param>
    /// <param name="clip">音频</param>
    /// <param name="RepelBGM">排斥 BGM 的音量</param>
    /// <param name="loop">是否循环</param>
    /// <param name="spatialBlend">空间混合(0-2D|1-3D)</param>
    /// <returns></returns>
    public SFXAudio PlaySFX(Transform target, AudioClip clip, float RepelBGM, bool loop = false, float spatialBlend = 0f)
    {
        SFXAudio sfx = PlaySFX(clip, RepelBGM, loop, spatialBlend);

        sfx.transform.SetParent(target);
        return(sfx);
    }
Esempio n. 4
0
    public void PlaySFX(AudioClip i_Clip, Vector3 i_Position)
    {
        SFXAudio audio = Instantiate(m_SFXAudioPrefab, i_Position, Quaternion.identity);

        audio.Setup(i_Clip);
        audio.Play();
    }
Esempio n. 5
0
    public void PlaySFX(AudioClip a_Clip, Vector3 a_Position, ulong a_Delay)
    {
        SFXAudio audio = Instantiate(m_SFXAudioPrefab, a_Position, Quaternion.identity);

        audio.SetupAudio(a_Clip, 1, 1, false, 0);
        audio.PlayAudio(a_Delay);
    }
Esempio n. 6
0
    public void PlaySFX(AudioClip a_Clip, Vector3 a_Position, float a_Volume, float a_Pitch, bool a_FadeIn, bool a_DontDestoyOnLoad = false)
    {
        SFXAudio audio = Instantiate(m_SFXAudioPrefab, a_Position, Quaternion.identity);

        audio.SetupAudio(a_Clip, a_Volume, a_Pitch, a_FadeIn, 0, a_DontDestoyOnLoad);
        audio.PlayAudio(0);
    }
Esempio n. 7
0
    /// <summary>
    /// 播放一个在零点的音效
    /// </summary>
    /// <param name="clip">音频</param>
    /// <param name="loop">是否循环</param>
    /// <param name="spatialBlend">空间混合(0-2D|1-3D)</param>
    /// <returns></returns>
    public SFXAudio PlaySFX(AudioClip clip, bool loop = false, float spatialBlend = 0f)
    {
        SFXAudio sfx = SFXPool.Get();

        sfx.Play(clip, spatialBlend, loop, SFXVolume);
        return(sfx);
    }
Esempio n. 8
0
    public void PlaySFX(AudioClip a_Clip, Vector3 a_Position, float a_Volume, float a_Pitch, bool a_FadeIn, ulong a_Delay)
    {
        SFXAudio audio = Instantiate(m_SFXAudioPrefab, a_Position, Quaternion.identity);

        audio.SetupAudio(a_Clip, a_Volume, a_Pitch, a_FadeIn, 0);
        audio.PlayAudio(a_Delay);
    }
Esempio n. 9
0
    /// <summary>
    /// 播放音效,可以压低BGM的音量,设置音效播放的位置
    /// </summary>
    /// <param name="position">要发声的位置</param>
    /// <param name="clip">音频</param>
    /// <param name="RepelBGM">排斥 BGM 的音量</param>
    /// <param name="loop">是否循环</param>
    /// <param name="spatialBlend">空间混合(0-2D|1-3D)</param>
    /// <returns></returns>
    public SFXAudio PlaySFX(Vector3 position, AudioClip clip, float RepelBGM, bool loop = false, float spatialBlend = 0f)
    {
        SFXAudio sfx = PlaySFX(clip, RepelBGM, loop, spatialBlend);

        sfx.transform.position = position;
        return(sfx);
    }
Esempio n. 10
0
    public void PlaySFX(SFXAudio SFXName)
    {
        AudioClip SFXToPlay = Resources.Load <AudioClip>("Audio/SFX/" + SFXName.ToString());

        asi_UI.Clip = SFXToPlay;
        asi_UI.Play();
    }
Esempio n. 11
0
    /// <summary>
    /// 创建
    /// </summary>
    /// <returns></returns>
    public static SFXAudio Create()
    {
        GameObject obj = new GameObject(DEFAULT_NAME);
        SFXAudio   sfx = obj.AddComponent <SFXAudio> ();

        sfx.Init();
        return(sfx);
    }
Esempio n. 12
0
    public void PlaySFX(AudioClip i_Clip, Vector3 i_Position) // au lieu du vector, un transform et un bool. Le son se fait sur le character et bool le suit ou pas
    {
        SFXAudio audio = Instantiate(m_SFXAudioPrefab, i_Position, Quaternion.identity);

        audio.Setup(i_Clip);
        audio.Play();
        Debug.Log("Play");
    }
Esempio n. 13
0
 /// <summary>
 /// 回收音效
 /// </summary>
 private void RecycleSFX(SFXAudio sfx)
 {
     SFXPool.Recycle(sfx);
     if (RepelSFXCount > 0)
     {
         if (--RepelSFXCount <= 0)
         {
             UpdateBGMVolume();
         }
     }
 }
Esempio n. 14
0
    /// <summary>
    /// 创建音效源对象
    /// </summary>
    private SFXAudio OnCreateSFX()
    {
        SFXAudio sfx = SFXAudio.Create();

        sfx.OnStop = RecycleSFX;

        Transform trans = sfx.gameObject.transform;

        trans.SetParent(this.transform);
        return(sfx);
    }
Esempio n. 15
0
    /// <summary>
    /// 播放音效,可以压低BGM的音量
    /// </summary>
    /// <param name="clip">音频</param>
    /// <param name="RepelBGM">排斥 BGM 的音量</param>
    /// <param name="loop">是否循环</param>
    /// <param name="spatialBlend">空间混合(0-2D|1-3D)</param>
    /// <returns></returns>
    public SFXAudio PlaySFX(AudioClip clip, float RepelBGM, bool loop = false, float spatialBlend = 0f)
    {
        SFXAudio sfx = PlaySFX(clip, loop, spatialBlend);

        //如果排斥BGM,降低BGM音量
        if (RepelBGM > 0f)
        {
            RepelSFXCount++;
            audioSource.volume = RepelBGM;
        }
        return(sfx);
    }
Esempio n. 16
0
    public void PlaySFX(AudioClip i_Clip, Vector3 i_Position) // au lieu du vector, un transform et un bool. Le son se fait sur le character et bool le suit ou pas
    {
        SFXAudio audio = Instantiate(m_SFXAudioPrefab, i_Position, Quaternion.identity);

        if (i_Clip == m_Ravens || i_Clip == m_Cavern || i_Clip == m_Breathing)
        {
            audio.GetComponentInChildren <AudioSource>().loop = true;
            audio.Loop(i_Clip);
            audio.Play();
        }
        else
        {
            audio.Setup(i_Clip);
            audio.Play();
        }
    }
Esempio n. 17
0
 /// <summary>
 /// 删除音效源对象
 /// </summary>
 private void OnDestroySFX(SFXAudio sfx)
 {
     sfx.transform.SetParent(null);
     GameObject.Destroy(sfx.gameObject);
 }
Esempio n. 18
0
 private void Awake()
 {
     Instance     = this;
     source1.clip = portalActivation;
 }