Module CommandCenter
Tasking -- A COMMANDCENTER is the owner of multiple missions within MOOSE.
A COMMANDCENTER governs multiple missions, the tasking and the reporting.
Author: FlightControl
Contributions:
Global(s)
COMMANDCENTER |
COMMANDCENTER class, extends Core.Base#BASEThe COMMANDCENTER class governs multiple missions, the tasking and the reporting. |
Type COMMANDCENTER
COMMANDCENTER:AddGroups() |
Get all the Groups active within the command center. |
COMMANDCENTER:AddMission(Mission) |
Add a MISSION to be governed by the HQ command center. |
COMMANDCENTER:AssignRandomTask(TaskGroup) |
Assigns a random task to a TaskGroup. |
COMMANDCENTER:AssignTasks() |
Automatically assigns tasks to all TaskGroups. |
COMMANDCENTER.AutoAssignTasks | |
COMMANDCENTER.CommandCenterCoalition | |
COMMANDCENTER.CommandCenterMenus | |
COMMANDCENTER.CommandCenterName | |
COMMANDCENTER.CommandCenterPositionable | |
COMMANDCENTER.CommunicationMode | |
COMMANDCENTER:GetCoalition() |
Gets the coalition of the command center. |
COMMANDCENTER:GetMenu(TaskGroup) |
Gets the commandcenter menu structure governed by the HQ command center. |
COMMANDCENTER:GetMissions() |
Get the Missions governed by the HQ command center. |
COMMANDCENTER:GetName() |
Gets the name of the HQ command center. |
COMMANDCENTER:GetPositionable() |
Gets the POSITIONABLE of the HQ command center. |
COMMANDCENTER:GetShortText() |
Gets the short text string of the HQ command center. |
COMMANDCENTER:GetText() |
Gets the text string of the HQ command center. |
COMMANDCENTER.HQ | |
COMMANDCENTER:HasGroup(Wrapper, MissionGroup) |
Checks of the COMMANDCENTER has a GROUP. |
COMMANDCENTER:IsGroupAssigned(TaskGroup) |
Checks of the TaskGroup has a Task. |
COMMANDCENTER:IsModeWWII() |
Returns if the commandcenter operations is in WWII mode |
COMMANDCENTER:MessageToAll(Message) |
Send a CC message to the coalition of the CC. |
COMMANDCENTER:MessageToCoalition(Message) |
Send a CC message to the coalition of the CC. |
COMMANDCENTER:MessageToGroup(Message, TaskGroup) |
Send a CC message to a GROUP. |
COMMANDCENTER:MessageTypeToCoalition(Message, MessageType) |
Send a CC message of a specified type to the coalition of the CC. |
COMMANDCENTER:MessageTypeToGroup(Message, TaskGroup, MessageType) |
Send a CC message of a specified type to a GROUP. |
COMMANDCENTER.Missions | |
COMMANDCENTER:New(CommandCenterPositionable, CommandCenterName) |
The constructor takes an IDENTIFIABLE as the HQ command center. |
COMMANDCENTER:RemoveMission(Mission) |
Removes a MISSION to be governed by the HQ command center. |
COMMANDCENTER:ReportDetails(ReportGroup, Task) |
Report the status of a Task to a Group. |
COMMANDCENTER:ReportMissionsPlayers(ReportGroup) |
Report the players of all MISSIONs to a GROUP. |
COMMANDCENTER:ReportSummary(ReportGroup) |
Report the status of all MISSIONs to a GROUP. |
COMMANDCENTER:SetAutoAssignTasks(AutoAssign) |
Automatically assigns tasks to all TaskGroups. |
COMMANDCENTER:SetMenu() |
Sets the menu structure of the Missions governed by the HQ command center. |
COMMANDCENTER:SetModeWWII() |
Set the commandcenter operations in WWII mode This will disable LL, MGRS, BRA, BULLS navigatin messages sent by the Command Center, and will be replaced by a navigation using Reference Zones. |
COMMANDCENTER:SetReferenceZones(ReferenceZonePrefix) |
Set special Reference Zones known by the Command Center to guide airborne pilots during WWII. |
Global(s)
- #COMMANDCENTER COMMANDCENTER
-
COMMANDCENTER class, extends Core.Base#BASE
The COMMANDCENTER class governs multiple missions, the tasking and the reporting.
The commandcenter communicates important messages between the various groups of human players executing tasks in missions.
COMMANDCENTER constructor
- COMMANDCENTER.New(): Creates a new COMMANDCENTER object.
Mission Management
- COMMANDCENTER.AddMission(): Adds a mission to the commandcenter control.
- COMMANDCENTER.RemoveMission(): Removes a mission to the commandcenter control.
- COMMANDCENTER.GetMissions(): Retrieves the missions table controlled by the commandcenter.
Reference Zones
Command Centers may be aware of certain Reference Zones within the battleground. These Reference Zones can refer to known areas, recognizable buildings or sites, or any other point of interest. Command Centers will use these Reference Zones to help pilots with defining coordinates in terms of navigation during the WWII era. The Reference Zones are related to the WWII mode that the Command Center will operate in. Use the method COMMANDCENTER.SetModeWWII() to set the mode of communication to the WWII mode.
In WWII mode, the Command Center will receive detected targets, and will select for each target the closest nearby Reference Zone. This allows pilots to navigate easier through the battle field readying for combat.
The Reference Zones need to be set by the Mission Designer in the Mission Editor. Reference Zones are set by normal trigger zones. One can color the zones in a specific color, and the radius of the zones doesn't matter, only the point is important. Place the center of these Reference Zones at specific scenery objects or points of interest (like cities, rivers, hills, crossing etc). The trigger zones indicating a Reference Zone need to follow a specific syntax. The name of each trigger zone expressing a Reference Zone need to start with a classification name of the object, followed by a #, followed by a symbolic name of the Reference Zone. A few examples:
- A church at Tskinvali would be indicated as: Church#Tskinvali
- A train station near Kobuleti would be indicated as: Station#Kobuleti
The COMMANDCENTER class contains a method to indicate which trigger zones need to be used as Reference Zones. This is done by using the method COMMANDCENTER.SetReferenceZones(). For the moment, only one Reference Zone class can be specified, but in the future, more classes will become possible.
Type CommandCenter
Type COMMANDCENTER
Extends Core.Base#BASE
The COMMANDCENTER class
COMMANDCENTER
is a list of Tasking.Mission#MISSION
. Missions
Field(s)
- COMMANDCENTER:AddGroups()
-
Get all the Groups active within the command center.
Return value
- COMMANDCENTER:AddMission(Mission)
-
Add a MISSION to be governed by the HQ command center.
Parameter
-
Tasking.Mission#MISSION Mission
:
Return value
-
- COMMANDCENTER:AssignRandomTask(TaskGroup)
-
Assigns a random task to a TaskGroup.
Parameter
-
TaskGroup
:
Return value
-
- COMMANDCENTER:AssignTasks()
-
Automatically assigns tasks to all TaskGroups.
- #string COMMANDCENTER.CommunicationMode
- COMMANDCENTER:GetCoalition()
-
Gets the coalition of the command center.
Return value
- COMMANDCENTER:GetMenu(TaskGroup)
-
Gets the commandcenter menu structure governed by the HQ command center.
Parameter
-
TaskGroup
:
Return value
-
- COMMANDCENTER:GetMissions()
-
Get the Missions governed by the HQ command center.
Return value
#list<Tasking.Mission#MISSION>:
- COMMANDCENTER:GetName()
-
Gets the name of the HQ command center.
Return value
#string:
- COMMANDCENTER:GetPositionable()
-
Gets the POSITIONABLE of the HQ command center.
Return value
- COMMANDCENTER:GetShortText()
-
Gets the short text string of the HQ command center.
Return value
#string:
- COMMANDCENTER:GetText()
-
Gets the text string of the HQ command center.
Return value
#string:
- COMMANDCENTER:HasGroup(Wrapper, MissionGroup)
-
Checks of the COMMANDCENTER has a GROUP.
Parameters
-
Wrapper
: Group#GROUP -
MissionGroup
:
Return value
#boolean:
-
- COMMANDCENTER:IsGroupAssigned(TaskGroup)
-
Checks of the TaskGroup has a Task.
Parameter
-
TaskGroup
:
Return value
#boolean:
-
- COMMANDCENTER:IsModeWWII()
-
Returns if the commandcenter operations is in WWII mode
Return value
#boolean: true if in WWII mode.
- COMMANDCENTER:MessageToAll(Message)
-
Send a CC message to the coalition of the CC.
Parameter
-
Message
:
-
- COMMANDCENTER:MessageToCoalition(Message)
-
Send a CC message to the coalition of the CC.
Parameter
-
Message
:
-
- COMMANDCENTER:MessageToGroup(Message, TaskGroup)
-
Send a CC message to a GROUP.
Parameters
-
#string Message
: -
Wrapper.Group#GROUP TaskGroup
:
-
- COMMANDCENTER:MessageTypeToCoalition(Message, MessageType)
-
Send a CC message of a specified type to the coalition of the CC.
Parameters
-
#string Message
: The message. -
Core.Message#MESSAGE.MessageType MessageType
: The type of the message, resulting in automatic time duration and prefix of the message.
-
- COMMANDCENTER:MessageTypeToGroup(Message, TaskGroup, MessageType)
-
Send a CC message of a specified type to a GROUP.
Parameters
-
#string Message
: -
Wrapper.Group#GROUP TaskGroup
: -
Core.Message#MESSAGE.MessageType MessageType
: The type of the message, resulting in automatic time duration and prefix of the message.
-
- #table COMMANDCENTER.Missions
- COMMANDCENTER:New(CommandCenterPositionable, CommandCenterName)
-
The constructor takes an IDENTIFIABLE as the HQ command center.
Parameters
-
Wrapper.Positionable#POSITIONABLE CommandCenterPositionable
: -
#string CommandCenterName
:
Return value
-
- COMMANDCENTER:RemoveMission(Mission)
-
Removes a MISSION to be governed by the HQ command center.
The given Mission is not nilified.
Parameter
-
Tasking.Mission#MISSION Mission
:
Return value
-
- COMMANDCENTER:ReportDetails(ReportGroup, Task)
-
Report the status of a Task to a Group.
Report the details of a Mission, listing the Mission, and all the Task details.
Parameters
-
ReportGroup
: -
Task
:
-
- COMMANDCENTER:ReportMissionsPlayers(ReportGroup)
-
Report the players of all MISSIONs to a GROUP.
Each Mission is listed, with an indication how many Tasks are still to be completed.
Parameter
-
ReportGroup
:
-
- COMMANDCENTER:ReportSummary(ReportGroup)
-
Report the status of all MISSIONs to a GROUP.
Each Mission is listed, with an indication how many Tasks are still to be completed.
Parameter
-
ReportGroup
:
-
- COMMANDCENTER:SetAutoAssignTasks(AutoAssign)
-
Automatically assigns tasks to all TaskGroups.
Parameter
-
#boolean AutoAssign
: true for ON and false or nil for OFF.
Return value
-
- COMMANDCENTER:SetMenu()
-
Sets the menu structure of the Missions governed by the HQ command center.
- COMMANDCENTER:SetModeWWII()
-
Set the commandcenter operations in WWII mode This will disable LL, MGRS, BRA, BULLS navigatin messages sent by the Command Center, and will be replaced by a navigation using Reference Zones.
It will also disable the settings at the settings menu for these.
Return value
- COMMANDCENTER:SetReferenceZones(ReferenceZonePrefix)
-
Set special Reference Zones known by the Command Center to guide airborne pilots during WWII.
These Reference Zones are normal trigger zones, with a special naming. The Reference Zones need to be set by the Mission Designer in the Mission Editor. Reference Zones are set by normal trigger zones. One can color the zones in a specific color, and the radius of the zones doesn't matter, only the center of the zone is important. Place the center of these Reference Zones at specific scenery objects or points of interest (like cities, rivers, hills, crossing etc). The trigger zones indicating a Reference Zone need to follow a specific syntax. The name of each trigger zone expressing a Reference Zone need to start with a classification name of the object, followed by a #, followed by a symbolic name of the Reference Zone. A few examples:
- A church at Tskinvali would be indicated as: Church#Tskinvali
- A train station near Kobuleti would be indicated as: Station#Kobuleti
Taking the above example, this is how this method would be used:
CC:SetReferenceZones( "Church" ) CC:SetReferenceZones( "Station" )
Parameter
-
#string ReferenceZonePrefix
: The name before the #-mark indicating the class of the Reference Zones.
Return value