CapersProject/Assets/02.Scripts/BehaviorTree/Npc/Crew/Action/Refind.cs
2024-10-27 18:44:22 +09:00

39 lines
1.2 KiB
C#

using BehaviorDesigner.Runtime.Tasks;
using BlueWater.Npcs.Crews.Server;
using BlueWater.Tycoons;
using UnityEngine;
namespace BlueWater.BehaviorTrees.Actions
{
[TaskCategory("Custom/Npc/Crew/ServerCrew")]
public class Refind : Action
{
private ServerCrew _serverCrew;
public override void OnAwake()
{
_serverCrew = GetComponent<ServerCrew>();
}
public override TaskStatus OnUpdate()
{
var tycoonManager = TycoonManager.Instance;
var orderedCustomer = tycoonManager.CustomerController.FindCustomerMatchingItem(_serverCrew.CurrentPickupItem);
if (orderedCustomer)
{
_serverCrew.OnMission(orderedCustomer, orderedCustomer, ActionType.ServingToCustomer);
return TaskStatus.Success;
}
var emptyServingTable = tycoonManager.ServingTableController.FindEmptyServingTable();
if (emptyServingTable)
{
_serverCrew.OnMission(emptyServingTable, null, ActionType.PlaceOnServingTable);
return TaskStatus.Success;
}
return TaskStatus.Running;
}
}
}