52 lines
1.3 KiB
C#
52 lines
1.3 KiB
C#
using FMODUnity;
|
|
using UnityEngine;
|
|
|
|
namespace HurricaneVR.Framework.Weapons
|
|
{
|
|
public class HVRGunSounds : MonoBehaviour
|
|
{
|
|
[SerializeField] private EventReference fired;
|
|
[SerializeField] private EventReference outOfAmmo;
|
|
[SerializeField] private EventReference slideBack;
|
|
[SerializeField] private EventReference slideForward;
|
|
[SerializeField] private EventReference loadMagazine;
|
|
[SerializeField] private EventReference unloadMagazine;
|
|
|
|
public virtual void PlayGunFire()
|
|
{
|
|
PlayClip(fired);
|
|
}
|
|
|
|
public virtual void PlayOutOfAmmo()
|
|
{
|
|
PlayClip(outOfAmmo);
|
|
}
|
|
|
|
public virtual void PlaySlideForward()
|
|
{
|
|
PlayClip(slideForward);
|
|
}
|
|
|
|
public virtual void PlaySlideBack()
|
|
{
|
|
PlayClip(slideBack);
|
|
}
|
|
|
|
public virtual void PlayLoadMagazine()
|
|
{
|
|
PlayClip(loadMagazine);
|
|
}
|
|
|
|
public virtual void PlayUnloadMagazine()
|
|
{
|
|
PlayClip(unloadMagazine);
|
|
}
|
|
|
|
protected virtual void PlayClip(EventReference clip)
|
|
{
|
|
if (clip.IsNull) return;
|
|
RuntimeManager.PlayOneShot(clip.Guid, transform.position);
|
|
}
|
|
}
|
|
}
|