// Use this for initialization private void Start() { m_fSoundRadius = GetComponent <FMODUnity.StudioEventEmitter>().OverrideMaxDistance; //Use the FMOD events distance m_fmSoundEventInstance = FMODUnity.RuntimeManager.CreateInstance(m_sSoundToPlay); //Create a sound instance that we can control m_fmSoundEventInstance.set3DAttributes(FMODUnity.RuntimeUtils.To3DAttributes(transform)); //Make the sound here m_fmSoundEventInstance.start(); //Start the sound m_fmSoundEventInstance.release(); Collider[] cTargetsInViewRadius = Physics.OverlapSphere(transform.position, m_fSoundRadius, m_GuardAlertMask);//Get all guards in radius foreach (Collider cCurrentTarget in cTargetsInViewRadius) { CS_GuardHearing cGuardRef = cCurrentTarget.GetComponent <CS_GuardHearing>(); if (cGuardRef != null) { if (a_bRadio) { cGuardRef.AlertHearRadio(transform); } else { cGuardRef.AlertHearOtherSound(transform); } } } }
public override bool CheckPreCondition(GameObject agent) { CS_GuardHearing cHearingRef = GetComponent <CS_GuardHearing>(); if (cHearingRef == null || !cHearingRef.GetCanHearRadio()) { return(false); } m_goTarget = cHearingRef.GetSoundLocation().gameObject; if (m_goTarget != null) { return(true); } return(false); }