update
This commit is contained in:
32
Assets/Scripts/AI NPC/NoiseEmitter.cs
Normal file
32
Assets/Scripts/AI NPC/NoiseEmitter.cs
Normal file
@@ -0,0 +1,32 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace Hallucinate.AI
|
||||
{
|
||||
public class NoiseEmitter : MonoBehaviour
|
||||
{
|
||||
[Header("Settings")]
|
||||
public float defaultNoiseRange = 10f;
|
||||
public LayerMask npcLayer;
|
||||
|
||||
public void EmitNoise(float volumeMultiplier = 1f)
|
||||
{
|
||||
float range = defaultNoiseRange * volumeMultiplier;
|
||||
Collider[] hitColliders = Physics.OverlapSphere(transform.position, range, npcLayer);
|
||||
|
||||
foreach (var hit in hitColliders)
|
||||
{
|
||||
EnemyAI npc = hit.GetComponentInParent<EnemyAI>();
|
||||
if (npc != null)
|
||||
{
|
||||
npc.HearNoise(transform.position, volumeMultiplier);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void OnDrawGizmosSelected()
|
||||
{
|
||||
Gizmos.color = new Color(1, 1, 0, 0.3f);
|
||||
Gizmos.DrawWireSphere(transform.position, defaultNoiseRange);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user