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.
|
|
|
|
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);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|