|
|
|
using FMODUnity;
|
|
|
|
using System.Collections;
|
|
|
|
using System.Collections.Generic;
|
|
|
|
using UnityEngine;
|
|
|
|
|
|
|
|
public class AgentManager : MonoBehaviour
|
|
|
|
{
|
|
|
|
public EventReference m_BreathingSFX;
|
|
|
|
public EventReference m_RespawnSFX;
|
|
|
|
public EventReference m_FailSFX;
|
|
|
|
public GameObject m_Agent;
|
|
|
|
private void OnEnable()
|
|
|
|
{
|
|
|
|
CollisionDetection.m_PlaySoundOnContact += PlayOneShot;
|
|
|
|
RagDollAgent.m_MoveToNextModel += PlayRespawnSFX;
|
|
|
|
RagDollAgent.m_AgentFail += PlayAgentFail;
|
|
|
|
}
|
|
|
|
|
|
|
|
private void OnDisable()
|
|
|
|
{
|
|
|
|
CollisionDetection.m_PlaySoundOnContact -= PlayOneShot;
|
|
|
|
RagDollAgent.m_MoveToNextModel -= PlayRespawnSFX;
|
|
|
|
RagDollAgent.m_AgentFail -= PlayAgentFail;
|
|
|
|
}
|
|
|
|
|
|
|
|
private void Start()
|
|
|
|
{
|
|
|
|
PlayBreathing(m_Agent, m_BreathingSFX);
|
|
|
|
}
|
|
|
|
|
|
|
|
private void PlayOneShot(GameObject obj, float force, EventReference sound)
|
|
|
|
{
|
|
|
|
AudioManager.instance.PlayOneShotAttached(sound, obj, force);
|
|
|
|
}
|
|
|
|
|
|
|
|
private void PlayBreathing(GameObject obj, EventReference sound)
|
|
|
|
{
|
|
|
|
AudioManager.instance.PlayOneShotAttachedBreathing(sound, obj, 1f);
|
|
|
|
}
|
|
|
|
|
|
|
|
private void PlayRespawnSFX()
|
|
|
|
{
|
|
|
|
AudioManager.instance.PlaySound(m_RespawnSFX);
|
|
|
|
}
|
|
|
|
|
|
|
|
private void PlayAgentFail()
|
|
|
|
{
|
|
|
|
AudioManager.instance.PlaySound(m_FailSFX);
|
|
|
|
}
|
|
|
|
}
|