// 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; } } }