Example #1
0
        private void InitiateActionExecutionState()
        {
            actionExecutionState = (finiteStateMachine, spy) =>
            {
                HandleCurrentActionIfItIsAlreadyPerformed();

                if (currentActions.Any())
                {
                    HandleCurrentActionExecution(spy, finiteStateMachine);
                }
                else
                {
                    HandleCurrentActionsMissing(finiteStateMachine);
                }
            };
        }
Example #2
0
        private void InitiateMovementState()
        {
            movementState = (finiteStateMachine, spy) =>
            {
                STRIPSAction action = currentActions.Peek();

                if (SchedulePlanningIfNecessary(spy, finiteStateMachine))
                {
                    return;
                }

                isSpyAwareOfBeingChasedLastValue = spy.AmIAwareOfBeingChased;

                if (STRIPSInstance.MoveSpy(action))
                {
                    finiteStateMachine.RemoveStateFromStack();
                }
            };
        }
Example #3
0
 private void InitiateActionPlanningState()
 {
     actionPlanningState = (finiteStateMachine, spy) => { Plan(spy, finiteStateMachine); };
 }