Example #1
0
 public void PlayBreakAudio(BasePart breakingPart)
 {
     AudioManager.AudioMaterial audioMaterial = breakingPart.AudioMaterial;
     AudioSource[] array;
     if (audioMaterial != AudioManager.AudioMaterial.Metal)
     {
         if (audioMaterial != AudioManager.AudioMaterial.Wood)
         {
             array = null;
         }
         else
         {
             array = null;                //WPFMonoBehaviour.gameData.commonAudioCollection.collisionWoodDestroy;
         }
     }
     else
     {
         array = null;            //WPFMonoBehaviour.gameData.commonAudioCollection.collisionMetalBreak;
     }
     if (array != null)
     {
         //Singleton<AudioManager>.Instance.SpawnOneShotEffect(array, breakingPart.transform.position);
     }
 }
Example #2
0
    protected void PlayCollisionSFX(Collision collisionData)
    {
        AudioSource[] array  = null;
        AudioSource[] array2 = null;
        AudioManager.AudioMaterial audioMaterial = this.audioMaterial;
        if (audioMaterial != AudioManager.AudioMaterial.Metal)
        {
            if (audioMaterial != AudioManager.AudioMaterial.Wood)
            {
                array  = null;
                array2 = null;
            }
            else
            {
                array  = WPFMonoBehaviour.gameData.commonAudioCollection.collisionWoodHit;
                array2 = WPFMonoBehaviour.gameData.commonAudioCollection.collisionWoodDamage;
            }
        }
        else
        {
            array  = WPFMonoBehaviour.gameData.commonAudioCollection.collisionMetalHit;
            array2 = WPFMonoBehaviour.gameData.commonAudioCollection.collisionMetalDamage;
        }
        if (array != null && array2 != null)
        {
            float       num           = 0f;
            Vector3     soundPosition = Vector3.zero;
            IEnumerator enumerator    = collisionData.GetEnumerator();
            try
            {
                while (enumerator.MoveNext())
                {
                    object       obj          = enumerator.Current;
                    ContactPoint contactPoint = (ContactPoint)obj;
                    float        num2         = Vector3.Dot(collisionData.relativeVelocity, contactPoint.normal);
                    if (num2 > num)
                    {
                        num           = num2;
                        soundPosition = contactPoint.point;
                    }
                }
            }
            finally
            {
                IDisposable disposable;
                if ((disposable = (enumerator as IDisposable)) != null)
                {
                    disposable.Dispose();
                }
            }
            if (num > 8f)
            {
                Singleton <AudioManager> .Instance.SpawnOneShotEffect(array2, soundPosition);

                this.m_lastTimePlayedSFX = Time.time;
            }
            else if (num > 2.5f)
            {
                AudioSource audioSource = Singleton <AudioManager> .Instance.SpawnOneShotEffect(array, soundPosition);

                this.m_lastTimePlayedSFX = Time.time;
                if (audioSource)
                {
                    audioSource.volume = (num - 2f) / 8f;
                }
            }
        }
    }
Example #3
0
    public void PlayCollisionAudio(BasePart collisionPart, Collision collisionData)
    {
        if (collisionData.relativeVelocity.magnitude < 2.5f)
        {
            return;
        }
        AudioSource[] array  = null;
        AudioSource[] array2 = null;
        AudioManager.AudioMaterial audioMaterial = collisionPart.AudioMaterial;
        if (audioMaterial != AudioManager.AudioMaterial.Metal)
        {
            if (audioMaterial != AudioManager.AudioMaterial.Wood)
            {
                array  = null;
                array2 = null;
            }
            else
            {
                array  = WPFMonoBehaviour.gameData.commonAudioCollection.collisionWoodHit;
                array2 = WPFMonoBehaviour.gameData.commonAudioCollection.collisionWoodDamage;
            }
        }
        else
        {
            array  = WPFMonoBehaviour.gameData.commonAudioCollection.collisionMetalHit;
            array2 = WPFMonoBehaviour.gameData.commonAudioCollection.collisionMetalDamage;
        }
        float num = 1f;

        if (this is GoldenPig)
        {
            array  = WPFMonoBehaviour.gameData.commonAudioCollection.goldenPigHit;
            array2 = array;
            num    = 1.5f;
        }
        if (array != null && array2 != null)
        {
            float       num2          = 0f;
            Vector3     soundPosition = Vector3.zero;
            IEnumerator enumerator    = collisionData.GetEnumerator();
            try
            {
                while (enumerator.MoveNext())
                {
                    object       obj          = enumerator.Current;
                    ContactPoint contactPoint = (ContactPoint)obj;
                    float        num3         = Vector3.Dot(collisionData.relativeVelocity, contactPoint.normal);
                    if (num3 > num2)
                    {
                        num2          = num3 * num;
                        soundPosition = contactPoint.point;
                    }
                }
            }
            finally
            {
                IDisposable disposable;
                if ((disposable = (enumerator as IDisposable)) != null)
                {
                    disposable.Dispose();
                }
            }
            if (num2 > 8f)
            {
                //Singleton<AudioManager>.Instance.SpawnOneShotEffect(array2, soundPosition);
            }
            else if (num2 > 2.5f)
            {
                //AudioSource audioSource = Singleton<AudioManager>.Instance.SpawnOneShotEffect(array, soundPosition);
                //if (audioSource)
                //{
                //audioSource.volume = (num2 - 2f) / 8f;
                //}
            }
        }
    }