49 lines
1.1 KiB
C#
49 lines
1.1 KiB
C#
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<FirstPersonOcclusion>(); //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
|
|
|
|
}
|
|
|
|
}
|