OldBlueWater/BlueWater/Assets/02.Scripts/Npc/Guest/PayState.cs

39 lines
1008 B
C#
Raw Normal View History

2024-01-15 06:35:58 +00:00
// ReSharper disable once CheckNamespace
using UnityEngine;
2024-01-15 06:35:58 +00:00
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;
}
2024-01-15 06:35:58 +00:00
public void OnEnter(NpcStateMachine npcStateMachine)
{
payController.AddNpcToQueue(npc);
var positionInLine = payController.GetNextPositionInLine(npc);
npc.Agent.SetDestination(positionInLine);
isWaitingInLine = true;
2024-01-15 06:35:58 +00:00
}
public void OnUpdate(NpcStateMachine npcStateMachine)
{
npc.Agent.SetDestination(payController.GetNextPositionInLine(npc));
2024-01-15 06:35:58 +00:00
}
public void OnExit(NpcStateMachine npcStateMachine)
{
isWaitingInLine = false;
2024-01-15 06:35:58 +00:00
}
}
}