using UnityEngine; using UnityEngine.XR.Content.Interaction; using FMOD.Studio; public class AlarmTrigger : MonoBehaviour { public XRPushButton PushButton; private EventInstance AlarmSound; private FirstPersonOcclusion occlusion; private void Awake() { AlarmSound = AudioManager.Instance.CreateInstance(FMODEvents.Instance.ServerRoomAlarm); //initialise the instance occlusion = GetComponent(); //apply occlusion if (occlusion != null) { occlusion.InitialiseWithInstance(AlarmSound); } } void Start() { if (PushButton != null) { PushButton.onPress.AddListener(OnButtonPressed); } } void OnButtonPressed() { AudioManager.Instance.PlayAttachedInstance(FMODEvents.Instance.ServerRoomButton, PushButton.gameObject); //3d oneshot instance Debug.Log("Alarm button Pressed!"); AlarmSound.start(); } void Update() { AlarmSound.set3DAttributes(FMODUnity.RuntimeUtils.To3DAttributes(gameObject)); //updating 3d attributes } }