using System; using BehaviorDesigner.Runtime.Tasks; using BlueWater.Items; using BlueWater.Npcs.Customers; using BlueWater.Players.Tycoons; using BlueWater.Tycoons; using BlueWater.Uis; using PixelCrushers.DialogueSystem; using UnityEngine; namespace BlueWater.BehaviorTrees.Actions { [TaskCategory("Custom/Npc/Customer")] [Serializable] public class OrderCocktail : Conditional { private Customer _customer; public override void OnAwake() { _customer = GetComponent(); } public override void OnStart() { _customer.OrderCocktail(); } public override TaskStatus OnUpdate() { if (_customer.IsWaitTimeOver()) { _customer.UnregisterPlayerInteraction(); return TaskStatus.Failure; } if (!_customer.IsReceivedItem) return TaskStatus.Running; _customer.UnregisterPlayerInteraction(); return _customer.IsOrderedSucceed ? TaskStatus.Success : TaskStatus.Failure; } } }