You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

46 lines
1.3 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace PolygonArsenal
{
public class PolygonSoundSpawn : MonoBehaviour
{
public GameObject prefabSound;
public bool destroyWhenDone = true;
public bool soundPrefabIsChild = false;
[Range(0.01f, 10f)]
public float pitchRandomMultiplier = 1f;
// Use this for initialization
void Start()
{
//Spawn the sound object
GameObject m_Sound = Instantiate(prefabSound, transform.position, Quaternion.identity);
AudioSource m_Source = m_Sound.GetComponent<AudioSource>();
//Attach object to parent if true
if (soundPrefabIsChild)
m_Sound.transform.SetParent(transform);
//Multiply pitch
if (pitchRandomMultiplier != 1)
{
if (Random.value < .5)
m_Source.pitch *= Random.Range(1 / pitchRandomMultiplier, 1);
else
m_Source.pitch *= Random.Range(1, pitchRandomMultiplier);
}
//Set lifespan if true
if (destroyWhenDone)
{
float life = m_Source.clip.length / m_Source.pitch;
Destroy(m_Sound, life);
}
}
}
}