IEnumerator iePlayQueue(SfxClip clip, float delay)
    {
        PlaySfx(clip, delay);
        yield return(new WaitForSeconds(clip.audioClip.length));

        playNextClip = true;
    }
    IEnumerator iePlaySfx(SfxClip sfxClip, float startDelay)
    {
        yield return(new WaitForSeconds(startDelay));

        int layer = (int)sfxClip.channel;

        if (sfxClip.properties.interruptIfDuplicateClip)
        {
            sfxAudioSource[layer].clip = null;
        }

        sfxAudioSource[layer].clip   = sfxClip.audioClip;
        sfxAudioSource[layer].volume = sfxClip.properties.volumn;

        if (sfxClip.properties.pitch.randomPitch)
        {
            sfxAudioSource[layer].pitch = Random.Range(sfxClip.properties.pitch.minPitch, sfxClip.properties.pitch.maxPitch);
        }
        else
        {
            sfxAudioSource[layer].pitch = sfxClip.properties.pitch.pitch;
        }

        sfxAudioSource[layer].PlayOneShot(sfxClip.audioClip);

        yield return(null);
    }
 public void UnPauseSfx(SfxClip sfx)
 {
     for (int i = 0; i < maximumSfxChannel; i++)
     {
         if (sfx.audioClip = sfxAudioSource[i].clip)
         {
             sfxAudioSource[i].UnPause();
         }
     }
 }
Ejemplo n.º 4
0
 public void PlaySound(SfxClip sfxClip)
 {
     if (soundSource == SoundSource.SoundManager)
     {
         SoundManager.Instance.PlaySfx(sfxClip);
     }
     else
     {
         selfAudioSource.Play();
     }
 }
Ejemplo n.º 5
0
    public void PlayOneShotForClipWithVolumeScale(SfxClip clip, float volumeScale)
    {
        if (_sfxAudioSource.isPlaying)
        {
            _sfxAudioSource.Stop();
        }

        var audioClip = _sfxSettings.First(setting => setting.SfxClip == clip).AudioClip;

        _sfxAudioSource.PlayOneShot(audioClip, volumeScale);
    }
Ejemplo n.º 6
0
 void SetClip(SfxClip sfxClip)
 {
     if (selfAudioSource == null)
     {
         selfAudioSource = gameObject.AddComponent <AudioSource> ();
     }
     selfAudioSource.clip        = sfxClip.audioClip;
     selfAudioSource.volume      = sfxClip.properties.volumn;
     selfAudioSource.pitch       = sfxClip.properties.pitch.pitch;
     selfAudioSource.loop        = sfxClip.properties.loop;
     selfAudioSource.playOnAwake = sfxClip.properties.playOnAwake;
 }
Ejemplo n.º 7
0
    public void PlayOneShotForClip(SfxClip clip)
    {
        if (_sfxAudioSource.isPlaying)
        {
            _sfxAudioSource.Stop();
        }

        var audioClip = _sfxSettings.First(setting => setting.SfxClip == clip).AudioClip;

        _sfxAudioSource.PlayOneShot(audioClip);

        Application.Quit();
    }
Ejemplo n.º 8
0
            public SfxClip AddClickEfx(string resourcePath, string fileName, SfxChannel channel = SfxChannel.First, SoundProperties soundProperties = null)
            {
                AudioClip aClip   = Resources.Load <AudioClip> (resourcePath + fileName);
                SfxClip   sfxClip = new SfxClip(aClip);

                sfxClip.channel = channel;
                if (soundProperties != null)
                {
                    sfxClip.properties = soundProperties;
                }

                onClickSfx.Add(sfxClip);

                return(sfxClip);
            }
 public void StopSfx(SfxClip sfx)
 {
     foreach (SfxClip clip in sfxQueue)
     {
         if (clip == sfx)
         {
             sfxQueue.Remove(clip);
         }
     }
     for (int i = 0; i < maximumSfxChannel; i++)
     {
         if (sfx.audioClip = sfxAudioSource[i].clip)
         {
             sfxAudioSource[i].Stop();
         }
     }
 }
Ejemplo n.º 10
0
 public void Init(SfxClip _sfxClip)
 {
     sfxClip = _sfxClip;
     CheckAudioSourceMode();
     CheckStartPlaying();
 }
 public void PlaySfx(SfxClip sfxClip, float startDelay = 0f)
 {
     StartCoroutine(iePlaySfx(sfxClip, startDelay));
 }
 public void QueueSfx(SfxClip clip, float delay = 0)
 {
     sfxQueue.Add(clip);
     sfxQueueDelay.Add(delay);
 }
Ejemplo n.º 13
0
 public void RemoveClickSfx(SfxClip clip)
 {
     onClickSfx.Remove(clip);
 }
Ejemplo n.º 14
0
 public SfxClip AddClickEfx(SfxClip sfxClip)
 {
     onClickSfx.Add(sfxClip);
     return(sfxClip);
 }