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