Пример #1
0
 private void PlaySound(CustomAudioClip customAudioClip)
 {
     AudioManager.Instance.PlaySound(customAudioClip.audioClip, new AudioOptions
     {
         Volume = customAudioClip.volume
     });
 }
    private void StartNewMusic(CustomAudioClip customAudioClip, MusicFadeSettings fadeSettings)
    {
        var audioPlayer = AudioPlayerPool.Instance.GetNewAndEnable();

        audioPlayer.Play(customAudioClip);
        _currentMusicPlayer = audioPlayer;
        audioPlayer.FadeInAsync(fadeSettings);
    }
Пример #3
0
 private void PlaySound(CustomAudioClip clip)
 {
     if (clip == null)
     {
         return;
     }
     AudioPlayerSpawner.Instance.PlaySoundEffect(clip);
 }
Пример #4
0
 /// <summary>
 /// Stops the overloaded AudioClip.
 /// <para>Use FindAudioClip(string clipName) to overload the file you want to stop.</para>
 /// </summary>
 /// <param name="toStop"></param>
 public void StopAudio(CustomAudioClip toStop)
 {
     for (int i = 0; i < audioSources.Count; i++)
     {
         if (audioSources[i].clip.name == toStop.clip.name)
         {
             audioSources[i].Stop();
         }
     }
 }
    public void PlayNewMusicAsync(CustomAudioClip newMusic, MusicFadeSettings overrideFadeSettings = null)
    {
        if (!newMusic.IsMusic)
        {
            Debug.LogError($"{newMusic.name} does not have IsMusic = true");
            return;
        }

        StartCoroutine(PlayNewMusicCoroutine(newMusic, overrideFadeSettings));
    }
Пример #6
0
    //Audio functions:

    /// <summary>
    /// Plays an Audioclip in 2D.
    /// <para>Use FindAudioClip(string clipName) to overload the file you want to play.</para>
    /// </summary>
    /// <param name="toPlay"></param>
    public void PlayAudio2D(CustomAudioClip toPlay)
    {
        AudioSource source = GetEmptyAudiosource();

        source.clip               = toPlay.clip;
        source.volume             = toPlay.defaultVolume;
        source.transform.position = Vector3.zero;
        source.spatialBlend       = 0;

        source.Play();
    }
Пример #7
0
    /// <summary>
    /// Plays an Audioclip in 3D.
    /// <para>Use FindAudioClip(string clipName) to overload the file you want to play.</para>
    /// </summary>
    /// <param name="toPlay"></param>
    /// <param name="playPos"></param>
    public void PlayAudio3D(CustomAudioClip toPlay, Vector3 playPos)
    {
        AudioSource source = GetEmptyAudiosource();

        source.clip               = toPlay.clip;
        source.volume             = toPlay.defaultVolume;
        source.transform.position = playPos;
        source.spatialBlend       = 1;
        source.minDistance        = 1;

        source.Play();
    }
    private IEnumerator PlayNewMusicCoroutine(CustomAudioClip newMusic, MusicFadeSettings overrideFadeSettings = null)
    {
        var fadeSettings = overrideFadeSettings ?? _defaultMusicFadeSettings;

        if (_currentMusicPlayer != null)
        {
            StopCurrentMusic(fadeSettings);
            yield return(new WaitForSeconds(_defaultMusicFadeSettings.DelayBetweenSongsInSeconds));
        }

        StartNewMusic(newMusic, fadeSettings);
    }
    public void PlaySoundEffect(CustomAudioClip customAudioClip, ulong delayInSeconds = 0L)
    {
        if (customAudioClip == null)
        {
            return;
        }

        if (customAudioClip.IsMusic)
        {
            Debug.LogError($"{customAudioClip.name} does not have IsMusic = false");
            return;
        }

        AudioPlayerPool.Instance.GetNewAndEnable()?.Play(customAudioClip, delayInSeconds);
    }
Пример #10
0
    void OnCollisionEnter(Collision collision)
    {
        if (isMoving)
        {
            if (!source.isPlaying)
            {
                CustomAudioClip cp = firstImpactClips[Random.Range(0, firstImpactClips.Length)];
                source.clip   = cp.clip;
                source.volume = cp.volume;
                source.Play();
            }
        }
        else
        {
            if (!source.isPlaying)
            {
                CustomAudioClip cp = laterImpactClips[Random.Range(0, firstImpactClips.Length)];
                source.clip   = cp.clip;
                source.volume = cp.volume;
                source.Play();
            }
        }
        if (explode)
        {
            foreach (var item in explosionObjs)
            {
                item.transform.SetParent(null);
                Rigidbody rb = item.gameObject.AddComponent <Rigidbody>();
                rb = item.gameObject.GetComponent <Rigidbody>();
                rb.AddForce(new Vector3(Random.Range(-.7f, .7f), Random.Range(.8f, 1), Random.Range(-.7f, .7f))
                            .normalized *explosionForce, ForceMode.Impulse);
                rb.AddTorque(new Vector3(Random.Range(-1, 1), Random.Range(-1, 1), Random.Range(-1, 1)).normalized *explosionTorque, ForceMode.Impulse);
                item.GetComponent <Collider>().enabled = false;
                StartCoroutine(DestroyAfterTime());
            }
        }
        else if (explodeWithParticles)
        {
            GetComponent <Renderer>().enabled = false;
            GetComponent <Collider>().enabled = false;
            StartCoroutine(DestroyAfterTime());
            particleSystem.GetComponent <ParticleSystem>().Play();
        }
        GoLimp(collision);

        //Debug.DrawRay(transform.position, forceVector,Color.green,10f);
    }
Пример #11
0
    void PlayClipAtPoint(CustomAudioClip clip, Vector2 pos, float volume)
    {
        if (!clip.clip)
        {
            return;
        }

        GameObject go = new GameObject(clip.clip.name);

        AudioSource audio = go.AddComponent <AudioSource>();

        audio.volume = clip.volume;
        audio.pitch  = clip.pitch;
        audio.PlayOneShot(clip.clip);

        DestroyAfter(go, clip.clip.length + 0.1f);

        //AudioSource.PlayClipAtPoint(clip.clip, Vector3.zero, volume);
    }
Пример #12
0
    public void Play(CustomAudioClip customAudioClip, ulong delayInSeconds = 0L)
    {
        _customAudioClip = customAudioClip;

        _audioSource.clip   = customAudioClip.GetClip();
        _audioSource.loop   = customAudioClip.IsMusic;
        _audioSource.volume = customAudioClip.GetVolume();
        _audioSource.pitch  = customAudioClip.GetPitch();

        if (customAudioClip.name == "clear-throat" || customAudioClip.name == "countdown-three")
        {
            return;
        }
        _audioSource.PlayDelayed(delayInSeconds);

        if (!customAudioClip.IsMusic)
        {
            StartCoroutine(ReturnToPoolDelayed(delayInSeconds + customAudioClip.GetClip().length + _destroyDelay));
        }
    }
Пример #13
0
    // Update is called once per frame
    void FixedUpdate()
    {
        if (playerDead)
        {
            return;
        }
        if (Mathf.Sign(Input.acceleration.x) != lastFrameInput)
        {
            if (!source.isPlaying)
            {
                CustomAudioClip cp = changeSideSound [Random.Range(0, changeSideSound.Length)];
                source.clip   = cp.clip;
                source.volume = cp.volume;
                source.Play();
            }
        }


        rb.AddForce(new Vector3(Input.acceleration.x * pushForce, 0, 0), ForceMode.Acceleration);
        anim.SetBool("IsMoving", Mathf.Abs(Input.acceleration.x) > 0.001f);
        anim.SetFloat("MovementSpeed", -Input.acceleration.x);
        lastFrameInput = Mathf.Sign(Input.acceleration.x);
    }
 // Triggered by animation event
 public void PlayCustomAudioClip(CustomAudioClip customAudioClip)
 {
     AudioPlayerSpawner.Instance.PlaySoundEffect(customAudioClip);
 }
Пример #15
0
    IEnumerator CheckForDestruction()
    {
        recentlyCollided = "";
        List <Transform> leftMostObj  = new List <Transform>();
        List <Transform> rightMostObj = new List <Transform>();

        foreach (var item in currentModel.GetComponentsInChildren <Transform>())
        {
            if (item == transform)
            {
                continue;
            }
            if (item.name.Contains("L0"))
            {
                leftMostObj.Add(item);
            }
            if (item.name.Contains("R0"))
            {
                rightMostObj.Add(item);
            }
        }

        leftMostObj.Sort(new System.Comparison <Transform>((x, y) => string.Compare(x.name, y.name)));
        rightMostObj.Sort(new System.Comparison <Transform>((x, y) => string.Compare(x.name, y.name)));

        while (true)
        {
            float rngeezus = 0;
            if (recentlyCollided.Contains("L0") && leftMostObj.Count > 0)
            {
                if (recentlyCollided == leftMostObj.Last().name)
                {
                    rngeezus = Random.Range(0, 100);

                    if (rngeezus <= chanceToDestroy)
                    {
                        GameObject obj = leftMostObj.Last().gameObject;
                        obj.transform.SetParent(null);
                        obj.AddComponent <Rigidbody>();
                        obj.GetComponent <Collider>().isTrigger = false;
                        leftMostObj.Remove(obj.transform);
                        CustomAudioClip cp = clips [Random.Range(0, clips.Length)];
                        source.clip   = cp.clip;
                        source.volume = cp.volume;
                        source.Play();
                        chanceToDestroy = chanceToDestroy * cutChance;
                    }
                }
            }
            if (recentlyCollided.Contains("R0") && rightMostObj.Count > 0)
            {
                if (recentlyCollided == rightMostObj.Last().name)
                {
                    rngeezus = Random.Range(0, 100);

                    if (rngeezus <= chanceToDestroy)
                    {
                        GameObject obj = rightMostObj.Last().gameObject;
                        obj.AddComponent <Rigidbody>();
                        obj.transform.SetParent(null);
                        obj.GetComponent <Collider>().isTrigger = false;
                        rightMostObj.Remove(obj.transform);
                        CustomAudioClip cp = clips [Random.Range(0, clips.Length)];
                        source.clip   = cp.clip;
                        source.volume = cp.volume;
                        source.Play();
                        chanceToDestroy = chanceToDestroy * cutChance;
                    }
                }
            }
            yield return(null);
        }
    }
Пример #16
0
 void PlayClip(CustomAudioClip clip)
 {
     PlayClipAtPoint(clip, Vector2.zero, 1.0f);
 }
Пример #17
0
 private void PlayInterruptibleSound(CustomAudioClip customClip)
 {
     _audioSource.clip   = customClip.audioClip;
     _audioSource.volume = customClip.volume;
     _audioSource.Play();
 }
Пример #18
0
 public void PlayNewMusicAsync(CustomAudioClip music, MusicFadeSettings overrideFadeSettings = null)
 {
     AudioPlayerSpawner.Instance.PlayNewMusicAsync(music, overrideFadeSettings);
 }
Пример #19
0
    public void PlayClip(string clipName)
    {
        CustomAudioClip clip = clips.Find(c => c.clipName.Equals(clipName));

        source.PlayOneShot(clip.clip);
    }