fire alarm done, but the button will restart it after initial pressing

This commit is contained in:
Timur Nizamov
2025-12-26 19:57:14 +02:00
parent 6a90182014
commit 23e453de77
43 changed files with 1623 additions and 197 deletions

View File

@@ -6,28 +6,23 @@ public class AlarmTrigger : MonoBehaviour
{
public XRPushButton PushButton;
private EventInstance RoomHum;
private EventInstance AlarmSound;
private FirstPersonOcclusion occlusion;
private void Awake()
{
RoomHum = AudioManager.Instance.CreateInstance(FMODEvents.Instance.ServerRoomHumming); //initialise the instance
AlarmSound = AudioManager.Instance.CreateInstance(FMODEvents.Instance.ServerRoomAlarm); //initialise the instance
occlusion = GetComponent<FirstPersonOcclusion>(); //apply occlusion
if (occlusion != null)
{
occlusion.InitialiseWithInstance(RoomHum);
//occlusion.InitialiseWithInstance(AlarmSound);
occlusion.InitialiseWithInstance(AlarmSound);
}
}
void Start()
{
//start playing the Server overall sound
RoomHum.start();
if (PushButton != null)
{
@@ -41,21 +36,13 @@ public class AlarmTrigger : MonoBehaviour
AudioManager.Instance.PlayAttachedInstance(FMODEvents.Instance.ServerRoomButton, PushButton.gameObject); //3d oneshot instance
Debug.Log("Alarm button Pressed!");
RoomHum.stop(FMOD.Studio.STOP_MODE.ALLOWFADEOUT);
AlarmSound.start();
}
void Update()
{
RoomHum.set3DAttributes(FMODUnity.RuntimeUtils.To3DAttributes(gameObject)); //updating 3d attributes
AlarmSound.set3DAttributes(FMODUnity.RuntimeUtils.To3DAttributes(gameObject)); //updating 3d attributes
// If alarm finished, restart hum once
if (!AudioManager.IsPlaying(AlarmSound) && !AudioManager.IsPlaying(RoomHum))
{
//RoomHum.start();
}
}
}

View File

@@ -231,6 +231,12 @@ public class AudioManager : MonoBehaviour
RuntimeManager.StudioSystem.setParameterByName(parameterName, value);
}
public void GetGlobalParameter(string parameterName, out float value)
{
RuntimeManager.StudioSystem.getParameterByName(parameterName, out value);
}
//=====//
//Some functions for initialising music, perhaps there will be a need in the future...
//=====//

View File

@@ -187,6 +187,11 @@ public class FirstPersonOcclusion : MonoBehaviour
}
public bool HasInstance(EventInstance instance)
{
return managedInstances.Contains(instance);
}
private void SetParameter()
{
float occlusionValue = lineCastHitCount / 11;