using BehaviorDesigner.Runtime.Tasks; using DDD.Npcs.Crews; namespace DDD.BehaviorTrees.Actions { [TaskCategory("Custom/Npc/Crew")] public class RingedBell : Action { private Crew _crew; public override void OnAwake() { _crew = GetComponent(); } public override void OnStart() { _crew.MoveBell(); } public override TaskStatus OnUpdate() { if (!_crew.AIMovement.HasReachedDestination()) return TaskStatus.Running; if (!_crew.HasReachedBell) { _crew.ReachedBell(); return TaskStatus.Running; } return !_crew.IsRingedBell ? TaskStatus.Success : TaskStatus.Running; } } }