Some fixes made, object picking logic added
This commit is contained in:
@@ -2,42 +2,35 @@ using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Runtime.Remoting.Messaging;
|
||||
using UnityEngine;
|
||||
using UnityEngine.PlayerLoop;
|
||||
using UnityEngine.XR.Content.Interaction;
|
||||
using FMOD.Studio;
|
||||
|
||||
public class AlarmTrigger : MonoBehaviour
|
||||
{
|
||||
public XRPushButton PushButton;
|
||||
public AudioSource AlarmSequence;
|
||||
public AudioSource VentilationSequence;
|
||||
|
||||
private EventInstance RoomHum;
|
||||
private EventInstance AlarmSound;
|
||||
|
||||
private FirstPersonOcclusion occlusion;
|
||||
|
||||
private bool hasAlarm = false;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
RoomHum = AudioManager.Instance.CreateInstance(FMODEvents.Instance.ServerRoomHumming); //initialise the instance
|
||||
RoomHum.setParameterByName("AlarmLogic", 1);
|
||||
RoomHum.set3DAttributes(FMODUnity.RuntimeUtils.To3DAttributes(gameObject)); //make it 3d
|
||||
|
||||
//AlarmSound = AudioManager.Instance.CreateInstance(FMODEvents.Instance.ServerRoomAlarm); //initialise the instance
|
||||
//AlarmSound.set3DAttributes(FMODUnity.RuntimeUtils.To3DAttributes(gameObject)); //make it 3d
|
||||
AlarmSound = AudioManager.Instance.CreateInstance(FMODEvents.Instance.ServerRoomAlarm); //initialise the instance
|
||||
|
||||
occlusion = GetComponent<FirstPersonOcclusion>();
|
||||
occlusion = GetComponent<FirstPersonOcclusion>(); //apply occlusion
|
||||
if (occlusion != null)
|
||||
{
|
||||
occlusion.InitialiseWithInstance(RoomHum);
|
||||
occlusion.InitialiseWithInstance(AlarmSound);
|
||||
|
||||
//occlusion.InitialiseWithInstance(AlarmSound);
|
||||
}
|
||||
}
|
||||
void Start()
|
||||
{
|
||||
RoomHum.start();
|
||||
//start playing the sound
|
||||
//start playing the Server overall sound
|
||||
//RoomHum.start();
|
||||
|
||||
if (PushButton != null)
|
||||
{
|
||||
@@ -51,8 +44,9 @@ public class AlarmTrigger : MonoBehaviour
|
||||
AudioManager.Instance.PlayAttachedInstance(FMODEvents.Instance.ServerRoomButton, PushButton.gameObject); //3d oneshot instance
|
||||
Debug.Log("Alarm button Pressed!");
|
||||
|
||||
RoomHum.setParameterByName("AlarmLogic", 0);
|
||||
hasAlarm = true;
|
||||
RoomHum.stop(FMOD.Studio.STOP_MODE.ALLOWFADEOUT);
|
||||
|
||||
AlarmSound.start();
|
||||
|
||||
}
|
||||
void Update()
|
||||
@@ -60,13 +54,11 @@ public class AlarmTrigger : MonoBehaviour
|
||||
RoomHum.set3DAttributes(FMODUnity.RuntimeUtils.To3DAttributes(gameObject)); //updating 3d attributes
|
||||
AlarmSound.set3DAttributes(FMODUnity.RuntimeUtils.To3DAttributes(gameObject)); //updating 3d attributes
|
||||
|
||||
|
||||
VentilationSequence.Play(); // Return to normal.
|
||||
|
||||
RoomHum.start();
|
||||
AlarmSound.stop(FMOD.Studio.STOP_MODE.ALLOWFADEOUT);
|
||||
|
||||
hasAlarm = false;
|
||||
// If alarm finished, restart hum once
|
||||
if (!AudioManager.IsPlaying(AlarmSound) && !AudioManager.IsPlaying(RoomHum))
|
||||
{
|
||||
//RoomHum.start();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user