Unit Configuration
Units
The xml element Units defines all units that the players can control in a session.
<source>
<Units>
<Unit> ... </Unit>
<Unit> ... </Unit>
...
<Unit> ... </Unit>
</Units>
</source>
The xml element Unit defines a unit in a session and contain a set of basic properties. Beside the basic properties the activated modules can add properties for the units. See documentation for each module.
A unit has the following basic properties:
<source>
<Unit
IDName = "F1"
LongName = "Firefighter Unit One"
Type = "FireFighter"
SendInfoTo = "X"
Pos = "9,8"
MailSendTo = "X"
WindowRadius = "2"
WindowRadiusView = "true"
WindowRadiusColor = "#303030"
MovingSpeed = "5"
FireFighterUnit = "true"
FireFighterMobilizeSpeed = "3"
FireFighterFightingSpeed = "4"
FireFighterDeMobilizeSpeed = "3"
FireBreakUnit = "true"
FireBreakCreateSpeed = "30"
FuelTankSize = "30"
FuelLevel = "10"
FuelLevelCountDownSpeed = "0.10"
FuelRefillSpeed = "5"
FuelTankUnit = "false"
WaterTankUnit = "false"
WaterTankSize = "300"
WaterLevel = "13"
WaterLevelCountDownSpeed = "5"
WaterRefillSpeed = "10"
CommandDelayTime = "0"
IntentionImageNrOfDistanceLevels = "5"
IntentionImageDistanceLevel2Time = "10"
IntentionImageDistanceLevel3Time = "15"
IntentionImageDistanceLevel4Time = "20"
IntentionImageDistanceLevel5Time = "25" />
</source>
Unit Images
In the standard experiment setting, a unit is represented on the map by four images:
The intention (Where the unit is moving towards) is a white number.
The unit position is viewed with a colored number.
PositionandIntention
on the map
These images can be changed by the session designer. The images should be stored in the directory <C3FIRE-MAP-IMAGES> Example:
C:\c3fire\www\pic\.
The images also need to be named according to a predefined pattern.
Example For Unit " F1 " the names are:
The name of the image representing the units position is " F1P12.gif " .
The name of the image representing the units position selected is " F1PS12.gif " .
The name of the image representing the units intention is " F1I12.gif " .
The name of the image representing the units intention selected is " F1IS12.gif " .
The name is a combination of three parts:
First : The units configured IDName " F1 ".
Second : "P" for position; "PS" for position selected; "I" for intention; "IS" for intention selected.
Third : The suffix " 12.gif " as the image must be a gif image.
When switching pictures every single unit is represented by four images. Their names are:
Units IDName and " P12.gif " .
Units IDName and " PS12.gif " .
Units IDName and " I12.gif " .
Units IDName and " IS12.gif " .
Units Positions
The xml element UnitsPos defines all units start position on the map.
<source>
<UnitsPos>
<Unit> ... </Unit>
<Unit> ... </Unit>
...
<Unit> ... </Unit>
</UnitsPos>
</source>
The xml element Unit defines a unit in a session and contain the ID Name and the position.
A unit has the following basic properties:
Property |
Value |
---|---|
IDName |
The identification name. This name must be unique, only one unit can have a specific IDName. The IDName is also used for the system to find the images representing the unit on the map. See Value example= "F1" |
Pos |
The start location on the map. Value example = "9,8" |
<source>
<Unit
IDName = "F1"
Pos = "9,8"
/>
</source>
Unit Communication Config
Defines the comunication properties between roles and units.
The unit communication is defined with the following properties :
<UnitCommunicationConfig
CommandDelay = "true" />
Property |
Value |
---|---|
CommandDelay |
If the module CommandDelay should be activated. Possible values = "True", "False" Module : CommandDelay For more information about the module see CommandDelay. Value example= "bottle-open.wav" |
Unit Movement Config
Defines the movment properties for the units.
The unit movement is defined with the following properties :
Property |
Value |
---|---|
FuelLogistic |
If fuel logistic should be included in the session. If true then module is included. Possible values = "True", "False" Module : FuelLogistic For more information about the module see FuelLogistic. |
FuelRefillOnPosType |
Defines refilling-fuel position constraints between a unit that wants fuel and a fuel refilling unit. Possible values : FuelRefillOnSamePos FuelRefillOnNESWPos If the unit that wants fuel is on pos (x,y). |
<Source>
<UnitMovementConfig
FuelLogistic = "true"
FuelRefillOnPosType = "FuelRefillOnNESWPos"/>
</Source>
Unit Info Display
Defines the information about units that is exposed in the user interface for the roles. Defines both the outlined information and the detailed
information about units. Some examples of a UnitInfoDisplay configuration, read more.
Configuration examples
<source>
<UnitInfoDisplay>
<UnitInfoDisplayOutline
Name = "Ground Chief" >
<UnitInfoDisplayOutlineCol Property = "IDName"
PropertyType = "String" width = "30" />
<UnitInfoDisplayOutlineCol Property = "Pos"
PropertyType = "String" width = "40" />
<UnitInfoDisplayOutlineCol Property = "Intention"
PropertyType = "String" width = "50" />
<UnitInfoDisplayOutlineCol Property = "Activity"
PropertyType = "String" width = "70" />
<UnitInfoDisplayOutlineCol Property = "WaterLevel"
PropertyType = "String" width = "50" />
<UnitInfoDisplayOutlineCol Property = "FuelLevel"
PropertyType = "String" width = "50" />
<UnitInfoDisplayOutlineRow UnitIDName = "F1"
UnitInfoDisplayDetail = "FireFighter"/>
<UnitInfoDisplayOutlineRow UnitIDName = "F2"
UnitInfoDisplayDetail = "FireFighter"/>
<UnitInfoDisplayOutlineRow UnitIDName = "F3"
UnitInfoDisplayDetail = "FireFighter"/>
<UnitInfoDisplayOutlineRow UnitIDName = "F4"
UnitInfoDisplayDetail = "FireFighter"/>
<UnitInfoDisplayOutlineRow UnitIDName = "W5"
UnitInfoDisplayDetail = "WaterTruck"/>
<UnitInfoDisplayOutlineRow UnitIDName = "G6"
UnitInfoDisplayDetail = "FuelTruck"/>
</UnitInfoDisplayOutline>
...
<UnitInfoDisplayDetail
Name = "FireFighter"
PropertyColWidth = "170"
ValueColWidth = "140">
<UnitInfoDisplayDetailRow Property = "IDName"
DisplayType = "String"/>
<UnitInfoDisplayDetailRow Property = "Type"
DisplayType = "String"/>
<UnitInfoDisplayDetailRow Property = "Pos"
DisplayType = "String"/>
<UnitInfoDisplayDetailRow Property = "Intention"
DisplayType = "String"/>
<UnitInfoDisplayDetailRow Property = "Activity"
DisplayType = "String"/>
<UnitInfoDisplayDetailRow Property = "MovingSpeed"
DisplayType = "Number"/>
<UnitInfoDisplayDetailRow Property = "MobilizingSpeed"
DisplayType = "Number"/>
<UnitInfoDisplayDetailRow Property = "FireFightingSpeed"
DisplayType = "Number"/>
<UnitInfoDisplayDetailRow Property = "DeMobilizingSpeed"
DisplayType = "Number"/>
<UnitInfoDisplayDetailRow Property = "WaterTankSize"
DisplayType = "Number"/>
<UnitInfoDisplayDetailRow Property = "WaterLevel"
DisplayType = "Number"/>
<UnitInfoDisplayDetailRow Property = "FuelTankSize"
DisplayType = "Number"/>
<UnitInfoDisplayDetailRow Property = "FuelLevel"
DisplayType = "Number"/>
</UnitInfoDisplayDetail>
</UnitInfoDisplay>
</Source>
UnitInfoDisplayOutline
Defines the UnitInfoDisplayOutline information about units, read more.
Property |
Value |
---|---|
Name |
The identification name of the UnitInfoDisplayOutline. Value example = "Ground Chief" |
UnitInfoDisplayOutlineCol
Defines the columns of UnitInfoDisplayOutline table, read more.
Property |
Value |
---|---|
Property |
The property of the column. Value examples = "IDName", "Pos", "Intention" Possible values are IDName, Pos, Intention, Activity, CommandQueue, CommandDelayTime, FireBreakCreateSpeed, |
PropertyType |
The type of information the column will handle. Value example = "String" |
Width |
The width of the column. Value example = "50" |
UnitInfoDisplayOutlineRow
Specifies wich units information shall be exposed in the rows of UnitInfoDisplayOutline table and also wich UnitInfoDisplayDetail should be
connected to that row of information, read more.
Property |
Value |
---|---|
UnitIDName |
The IDname of the unit whos information is exposed in this table row. Value example = "F1" |
UnitInfoDisplayDetail |
The UnitInfoDisplayDetail that is connected to this row of information. Value example = "FireFighter" |
UnitInfoDisplayDetail
Defines the UnitInfoDisplayDetail information about units, read more.
Property |
Value |
---|---|
Name |
The identification name of the UnitInfoDisplayDetail. Value example = "Ground Chief" |
PropertyColWidth |
The width of property column. Value example = "60" |
ValueColWidth |
The width of value column. Value example = "60" |
UnitInfoDisplayDetailRow
Defines the rows of UnitInfoDisplayDetail table, read more.
Property |
Value |
---|---|
Property |
The property of the row. Value examples = "IDName", "Pos", "Intention" Possible values are IDName, Pos, Intention, Activity, CommandQueue, CommandDelayTime, FireBreakCreateSpeed, |
DisplayType |
The type of information the row will handle. Value example = "String" |