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:
- ACTASSIGNACCEPT.New(): Creates a new ACTASSIGNACCEPT object.
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:
- ACTASSIGNMENU_ACCEPT.New(): Creates a new ACTASSIGNMENU_ACCEPT object.
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
Global(s)
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.
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:
-
- ACT_ASSIGN_ACCEPT:onafterStart(ProcessUnit, Event, From, To)
-
StateMachine callback function
Parameters
-
Wrapper.Unit#UNIT ProcessUnit: -
#string Event: -
#string From: -
#string To:
-
- ACT_ASSIGN_ACCEPT:onenterAssigned(ProcessUnit, Event, From, To)
-
StateMachine callback function
Parameters
-
Wrapper.Unit#UNIT ProcessUnit: -
#string Event: -
#string From: -
#string To:
-
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:MenuAssign()
-
Menu function.
- ACT_ASSIGN_MENU_ACCEPT:MenuReject()
-
Menu function.
- ACT_ASSIGN_MENU_ACCEPT:New(TaskName, TaskBriefing)
-
Init.
Parameters
-
#string TaskName: -
#string TaskBriefing:
Return value
#ACTASSIGNMENU_ACCEPT: self
-
- ACT_ASSIGN_MENU_ACCEPT:onafterAssign(ProcessUnit, Event, From, To)
-
StateMachine callback function
Parameters
-
Wrapper.Controllable#CONTROLLABLE ProcessUnit: -
#string Event: -
#string From: -
#string To:
-
- ACT_ASSIGN_MENU_ACCEPT:onafterReject(ProcessUnit, Event, From, To)
-
StateMachine callback function
Parameters
-
Wrapper.Controllable#CONTROLLABLE ProcessUnit: -
#string Event: -
#string From: -
#string To:
-
- ACT_ASSIGN_MENU_ACCEPT:onafterStart(ProcessUnit, Event, From, To)
-
StateMachine callback function
Parameters
-
Wrapper.Controllable#CONTROLLABLE ProcessUnit: -
#string Event: -
#string From: -
#string To:
-