Module Assign

(SP) (MP) (FSM) Accept or reject process for player (task) assignments.


#ACT_ASSIGN FSM template class, extends Fsm#FSM_PROCESS

ACT_ASSIGN state machine:

This class is a state machine: it manages a process that is triggered by events causing state transitions to occur. All derived classes from this class will start with the class name, followed by a _. See the relevant derived class descriptions below. Each derived class follows exactly the same process, using the same events and following the same state transitions, but will have different implementation behaviour upon each event or state transition.

ACT_ASSIGN Events:

These are the events defined in this class:

  • Start: Start the tasking acceptance process.
  • Assign: Assign the task.
  • Reject: Reject the task..

ACT_ASSIGN Event methods:

Event methods are available (dynamically allocated by the state machine), that accomodate for state transitions occurring in the process. There are two types of event methods, which you can use to influence the normal mechanisms in the state machine:

  • Immediate: The event method has exactly the name of the event.
  • Delayed: The event method starts with a __ + the name of the event. The first parameter of the event method is a number value, expressing the delay in seconds when the event will be executed.

ACT_ASSIGN States:

  • UnAssigned: The player has not accepted the task.
  • Assigned (*): The player has accepted the task.
  • Rejected (*): The player has not accepted the task.
  • Waiting: The process is awaiting player feedback.
  • Failed (*): The process has failed.

(*) End states of the process.

ACT_ASSIGN state transition methods:

State transition functions can be set by the mission designer customizing or improving the behaviour of the state. There are 2 moments when state transition methods will be called by the state machine:

  • Before the state transition. The state transition method needs to start with the name OnBefore + the name of the state. If the state transition method returns false, then the processing of the state transition will not be done! If you want to change the behaviour of the AIControllable at this event, return false, but then you'll need to specify your own logic using the AIControllable!

  • After the state transition. The state transition method needs to start with the name OnAfter + the name of the state. These state transition methods need to provide a return value, which is specified at the function description.


1) #ACTASSIGNACCEPT class, extends Fsm.Assign#ACT_ASSIGN

The ACTASSIGNACCEPT class accepts by default a task for a player. No player intervention is allowed to reject the task.

1.1) ACTASSIGNACCEPT constructor:


2) #ACTASSIGNMENU_ACCEPT class, extends Fsm.Assign#ACT_ASSIGN

The ACTASSIGNMENU_ACCEPT class accepts a task when the player accepts the task through an added menu option. This assignment type is useful to conditionally allow the player to choose whether or not he would accept the task. The assignment type also allows to reject the task.

2.1) ACTASSIGNMENU_ACCEPT constructor:



Global(s)

ACT_ASSIGN
ACT_ASSIGN_ACCEPT
ACT_ASSIGN_MENU_ACCEPT

Type ACT_ASSIGN

ACT_ASSIGN.ClassName
ACT_ASSIGN:New()

Creates a new task assignment state machine.

ACT_ASSIGN.ProcessUnit
ACT_ASSIGN.TargetZone
ACT_ASSIGN.Task

Type ACT_ASSIGN_ACCEPT

ACT_ASSIGN_ACCEPT.ClassName
ACT_ASSIGN_ACCEPT:Init(FsmAssign)
ACT_ASSIGN_ACCEPT:New(TaskBriefing)

Creates a new task assignment state machine.

ACT_ASSIGN_ACCEPT.ProcessUnit
ACT_ASSIGN_ACCEPT.TargetZone
ACT_ASSIGN_ACCEPT.Task
ACT_ASSIGN_ACCEPT.TaskBriefing
ACT_ASSIGN_ACCEPT:onafterStart(ProcessUnit, Event, From, To)

StateMachine callback function

ACT_ASSIGN_ACCEPT:onenterAssigned(ProcessUnit, Event, From, To)

StateMachine callback function

Type ACT_ASSIGN_MENU_ACCEPT

ACT_ASSIGN_MENU_ACCEPT.ClassName
ACT_ASSIGN_MENU_ACCEPT:Init(FsmAssign)
ACT_ASSIGN_MENU_ACCEPT.Menu
ACT_ASSIGN_MENU_ACCEPT.MenuAcceptTask
ACT_ASSIGN_MENU_ACCEPT:MenuAssign()

Menu function.

ACT_ASSIGN_MENU_ACCEPT:MenuReject()

Menu function.

ACT_ASSIGN_MENU_ACCEPT.MenuRejectTask
ACT_ASSIGN_MENU_ACCEPT:New(TaskName, TaskBriefing)

Init.

ACT_ASSIGN_MENU_ACCEPT.ProcessUnit
ACT_ASSIGN_MENU_ACCEPT.TargetZone
ACT_ASSIGN_MENU_ACCEPT.Task
ACT_ASSIGN_MENU_ACCEPT.TaskBriefing
ACT_ASSIGN_MENU_ACCEPT.TaskName
ACT_ASSIGN_MENU_ACCEPT:onafterAssign(ProcessUnit, Event, From, To)

StateMachine callback function

ACT_ASSIGN_MENU_ACCEPT:onafterReject(ProcessUnit, Event, From, To)

StateMachine callback function

ACT_ASSIGN_MENU_ACCEPT:onafterStart(ProcessUnit, Event, From, To)

StateMachine callback function

Global(s)

#ACT_ASSIGN ACT_ASSIGN
#ACT_ASSIGN_ACCEPT ACT_ASSIGN_ACCEPT
#ACT_ASSIGN_MENU_ACCEPT ACT_ASSIGN_MENU_ACCEPT

Type Assign

Type ACT_ASSIGN

ACT_ASSIGN class

Field(s)

#string ACT_ASSIGN.ClassName
ACT_ASSIGN:New()

Creates a new task assignment state machine.

The process will accept the task by default, no player intervention accepted.

Return value

#ACT_ASSIGN: The task acceptance process.

Wrapper.Unit#UNIT ACT_ASSIGN.ProcessUnit
Core.Zone#ZONE_BASE ACT_ASSIGN.TargetZone
Tasking.Task#TASK ACT_ASSIGN.Task

Type ACT_ASSIGN_ACCEPT

ACTASSIGNACCEPT class

Field(s)

#string ACT_ASSIGN_ACCEPT.ClassName
ACT_ASSIGN_ACCEPT:Init(FsmAssign)

Parameter

  • FsmAssign :

ACT_ASSIGN_ACCEPT:New(TaskBriefing)

Creates a new task assignment state machine.

The process will accept the task by default, no player intervention accepted.

Parameter

  • #string TaskBriefing :

Wrapper.Unit#UNIT ACT_ASSIGN_ACCEPT.ProcessUnit
Core.Zone#ZONE_BASE ACT_ASSIGN_ACCEPT.TargetZone
Tasking.Task#TASK ACT_ASSIGN_ACCEPT.Task
ACT_ASSIGN_ACCEPT.TaskBriefing
ACT_ASSIGN_ACCEPT:onafterStart(ProcessUnit, Event, From, To)

StateMachine callback function

Parameters

ACT_ASSIGN_ACCEPT:onenterAssigned(ProcessUnit, Event, From, To)

StateMachine callback function

Parameters

Type ACT_ASSIGN_MENU_ACCEPT

ACTASSIGNMENU_ACCEPT class

Field(s)

#string ACT_ASSIGN_MENU_ACCEPT.ClassName
ACT_ASSIGN_MENU_ACCEPT:Init(FsmAssign)

Parameter

  • FsmAssign :

ACT_ASSIGN_MENU_ACCEPT.Menu
ACT_ASSIGN_MENU_ACCEPT.MenuAcceptTask
ACT_ASSIGN_MENU_ACCEPT:MenuAssign()

Menu function.

ACT_ASSIGN_MENU_ACCEPT:MenuReject()

Menu function.

ACT_ASSIGN_MENU_ACCEPT.MenuRejectTask
ACT_ASSIGN_MENU_ACCEPT:New(TaskName, TaskBriefing)

Init.

Parameters

  • #string TaskName :

  • #string TaskBriefing :

Return value

#ACTASSIGNMENU_ACCEPT: self

Wrapper.Unit#UNIT ACT_ASSIGN_MENU_ACCEPT.ProcessUnit
Core.Zone#ZONE_BASE ACT_ASSIGN_MENU_ACCEPT.TargetZone
Tasking.Task#TASK ACT_ASSIGN_MENU_ACCEPT.Task
ACT_ASSIGN_MENU_ACCEPT.TaskBriefing
ACT_ASSIGN_MENU_ACCEPT.TaskName
ACT_ASSIGN_MENU_ACCEPT:onafterAssign(ProcessUnit, Event, From, To)

StateMachine callback function

Parameters

ACT_ASSIGN_MENU_ACCEPT:onafterReject(ProcessUnit, Event, From, To)

StateMachine callback function

Parameters

ACT_ASSIGN_MENU_ACCEPT:onafterStart(ProcessUnit, Event, From, To)

StateMachine callback function

Parameters