Some fixes made, object picking logic added

This commit is contained in:
Timur Nizamov
2025-12-21 00:01:28 +02:00
parent 27d5fdd68c
commit 50dba2cd81
82 changed files with 1464 additions and 1390 deletions

View File

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