39 lines
1008 B
C#
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;
|
|
}
|
|
}
|
|
} |