OldBlueWater/BlueWater/Assets/02.Scripts/Npc/Guest/PayState.cs
2024-01-18 18:01:04 +09:00

39 lines
1008 B
C#

// ReSharper disable once CheckNamespace
using UnityEngine;
namespace BlueWaterProject
{
public class PayState : INpcState
{
private TycoonNpc npc;
private PayController payController;
private bool isWaitingInLine;
public PayState(TycoonNpc npc)
{
this.npc = npc;
this.payController = npc.PayController;
isWaitingInLine = false;
}
public void OnEnter(NpcStateMachine npcStateMachine)
{
payController.AddNpcToQueue(npc);
var positionInLine = payController.GetNextPositionInLine(npc);
npc.Agent.SetDestination(positionInLine);
isWaitingInLine = true;
}
public void OnUpdate(NpcStateMachine npcStateMachine)
{
npc.Agent.SetDestination(payController.GetNextPositionInLine(npc));
}
public void OnExit(NpcStateMachine npcStateMachine)
{
isWaitingInLine = false;
}
}
}