CapersProject/Assets/02.Scripts/BehaviorTree/Npc/Customer/Action/OrderFood.cs

42 lines
1.0 KiB
C#
Raw Normal View History

using System;
using BehaviorDesigner.Runtime.Tasks;
using BlueWater.Npcs.Customers;
using Action = BehaviorDesigner.Runtime.Tasks.Action;
namespace BlueWater.BehaviorTrees.Actions
{
[TaskCategory("Custom/Npc/Customer")]
[Serializable]
public class OrderFood : Action
{
private Customer _customer;
private FoodBalloonUi _foodBalloonUi;
public override void OnAwake()
{
_customer = GetComponent<Customer>();
}
public override void OnStart()
{
_foodBalloonUi = _customer.FoodBalloonUi;
_foodBalloonUi.OrderFood(40001, 15f);
}
public override TaskStatus OnUpdate()
{
if (_foodBalloonUi.IsFoodReceive())
{
return TaskStatus.Success;
}
if (_foodBalloonUi.IsWaitTimeOver())
{
_foodBalloonUi.CancelOrder();
return TaskStatus.Failure;
}
return TaskStatus.Running;
}
}
}