From 4daaa8e8979f739155ffc21512be92f02dc7974d Mon Sep 17 00:00:00 2001 From: mushgunAX Date: Fri, 25 Nov 2022 00:56:40 +0800 Subject: [PATCH] Added SFX to AI - Footsteps, alert yell and unalert humming --- .../AIBehaviour/Implemented/Homeowner1.cs | 2 +- .../Implemented/LeafNodes/LeafChase.cs | 2 +- .../Implemented/LeafNodes/LeafSearch.cs | 35 ++++++++----------- 3 files changed, 17 insertions(+), 22 deletions(-) diff --git a/Assets/Scripts/AIBehaviour/Implemented/Homeowner1.cs b/Assets/Scripts/AIBehaviour/Implemented/Homeowner1.cs index a90a3157..8ebd0537 100644 --- a/Assets/Scripts/AIBehaviour/Implemented/Homeowner1.cs +++ b/Assets/Scripts/AIBehaviour/Implemented/Homeowner1.cs @@ -103,7 +103,7 @@ public partial class Homeowner1 : BehaviourTree footstepTimeRemaining -= velocity * Time.DeltaTimeF; if (footstepTimeRemaining < 0.0f) { - Debug.Log("AI Play Footstep SFX"); + Audio.PlaySFXOnce2D("event:/Homeowner/homeowner_footsteps"); footstepTimeRemaining = footstepSFXIntervalMultiplier; } } diff --git a/Assets/Scripts/AIBehaviour/Implemented/LeafNodes/LeafChase.cs b/Assets/Scripts/AIBehaviour/Implemented/LeafNodes/LeafChase.cs index 87e8ae1e..10562fc9 100644 --- a/Assets/Scripts/AIBehaviour/Implemented/LeafNodes/LeafChase.cs +++ b/Assets/Scripts/AIBehaviour/Implemented/LeafNodes/LeafChase.cs @@ -71,7 +71,7 @@ public partial class LeafChase : BehaviourTreeNode if (GetNodeData("isAlert") != null && (bool)GetNodeData("isAlert") == true) { - Debug.Log("AI play unalert hmm"); + Audio.PlaySFXOnce2D("event:/Homeowner/humming"); } SetNodeData("isAlert", false); diff --git a/Assets/Scripts/AIBehaviour/Implemented/LeafNodes/LeafSearch.cs b/Assets/Scripts/AIBehaviour/Implemented/LeafNodes/LeafSearch.cs index 056b5a4a..6d8e0237 100644 --- a/Assets/Scripts/AIBehaviour/Implemented/LeafNodes/LeafSearch.cs +++ b/Assets/Scripts/AIBehaviour/Implemented/LeafNodes/LeafSearch.cs @@ -41,7 +41,6 @@ public partial class LeafSearch : BehaviourTreeNode //Helper, find the nearest unobstructed waypoint to return to when chase is over private void reevaluateWaypoint() { - Debug.Log("Reevaluating Waypoints"); List waypoints = (List)GetNodeData("waypoints"); if (waypoints == null) @@ -62,6 +61,17 @@ public partial class LeafSearch : BehaviourTreeNode SetNodeData("currentWaypointIndex", nearestWaypointIndex); } + //Helper for handling stopping of chases + private void handleChaseStop() + { + if (GetNodeData("isAlert") != null && (bool)GetNodeData("isAlert") == true) + { + Audio.PlaySFXOnce2D("event:/Homeowner/humming"); + reevaluateWaypoint(); + } + SetNodeData("isAlert", false); + } + public override BehaviourTreeNodeStatus Evaluate() { //Debug.LogWarning("LeafSearch"); @@ -94,12 +104,7 @@ public partial class LeafSearch : BehaviourTreeNode if ((plrT.GlobalPosition - transform.GlobalPosition).GetMagnitude() > sightDistance) { //Debug.Log("Failure: Too far"); - if (GetNodeData("isAlert") != null && (bool)GetNodeData("isAlert") == true) - { - Debug.Log("AI play unalert hmm"); - reevaluateWaypoint(); - } - SetNodeData("isAlert", false); + handleChaseStop(); status = BehaviourTreeNodeStatus.FAILURE; onExit(BehaviourTreeNodeStatus.FAILURE); return status; @@ -114,12 +119,7 @@ public partial class LeafSearch : BehaviourTreeNode if (Vector3.Dot(difference, lookDirection) < 0.0f) { //Debug.Log("Failure: Out of FOV"); - if (GetNodeData("isAlert") != null && (bool)GetNodeData("isAlert") == true) - { - Debug.Log("AI play unalert hmm"); - reevaluateWaypoint(); - } - SetNodeData("isAlert", false); + handleChaseStop(); status = BehaviourTreeNodeStatus.FAILURE; onExit(BehaviourTreeNodeStatus.FAILURE); return status; @@ -140,12 +140,7 @@ public partial class LeafSearch : BehaviourTreeNode if (sightRayHit.Hit && sightRayHit.Other != player) { //Debug.Log("Failure: Ray hit obstacle named " + sightRayHit.Other.GetValueOrDefault().Name + " ID" + sightRayHit.Other.GetValueOrDefault().EntityId); - if (GetNodeData("isAlert") != null && (bool)GetNodeData("isAlert") == true) - { - Debug.Log("AI play unalert hmm"); - reevaluateWaypoint(); - } - SetNodeData("isAlert", false); + handleChaseStop(); status = BehaviourTreeNodeStatus.FAILURE; onExit(BehaviourTreeNodeStatus.FAILURE); return status; @@ -162,7 +157,7 @@ public partial class LeafSearch : BehaviourTreeNode if (GetNodeData("isAlert") != null && (bool)GetNodeData("isAlert") == false) { - Debug.Log("AI Play Alerted Yell here"); + Audio.PlaySFXOnce2D("event:/Homeowner/homeowner_detect_raccoon"); } SetNodeData("isAlert", true);