private void InitiateActionExecutionState() { actionExecutionState = (finiteStateMachine, spy) => { HandleCurrentActionIfItIsAlreadyPerformed(); if (currentActions.Any()) { HandleCurrentActionExecution(spy, finiteStateMachine); } else { HandleCurrentActionsMissing(finiteStateMachine); } }; }
private void InitiateMovementState() { movementState = (finiteStateMachine, spy) => { STRIPSAction action = currentActions.Peek(); if (SchedulePlanningIfNecessary(spy, finiteStateMachine)) { return; } isSpyAwareOfBeingChasedLastValue = spy.AmIAwareOfBeingChased; if (STRIPSInstance.MoveSpy(action)) { finiteStateMachine.RemoveStateFromStack(); } }; }
private void InitiateActionPlanningState() { actionPlanningState = (finiteStateMachine, spy) => { Plan(spy, finiteStateMachine); }; }