Difference between revisions of "C3Fire:Config/Session"

From C3LearningLabs
(UAVs)
(Session Configuration)
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
{{MenuHeadC3Fire}} {{DISPLAYTITLE:C3Fire Session Configuration}}
 
{{MenuHeadC3Fire}} {{DISPLAYTITLE:C3Fire Session Configuration}}
 
{{TOCright}}
 
{{TOCright}}
[[File:C3ll-head-under-construction-small.png]]<br><br>
+
 
 
= Session Configuration =
 
= Session Configuration =
 
+
 
 
 
 
Session Configuration
 
 
The information in the session configuration defines the static configuration values in a C3Fire session. It defines the players (Roles), the simulated units (Fire fighting units, etc.), the simulation data (geographic and fire parameters etc.), the session user interfaces etc.  
 
The information in the session configuration defines the static configuration values in a C3Fire session. It defines the players (Roles), the simulated units (Fire fighting units, etc.), the simulation data (geographic and fire parameters etc.), the session user interfaces etc.  
  
A session configuration file example - example.con
+
Example files are located in the distribution directory <C3FIRE-ROOT>/client/SessionDef/
 
 
More example files are located in the distribution directory <C3FIRE-ROOT>/client/SessionDef/SessionConfig/
 
 
Read more about the configuration examples in menu selection Configuration Examples.  
 
Read more about the configuration examples in menu selection Configuration Examples.  
  
The subelement UserInterfaceLayout is not described in this menu selection but in the menu selection session UI.  
+
The user interface layout is described at '''''[[C3Fire:Config/UI|User Interface]]'''''.
  
 
= XML Definition =
 
= XML Definition =

Revision as of 09:22, 15 August 2019

Session Configuration

The information in the session configuration defines the static configuration values in a C3Fire session. It defines the players (Roles), the simulated units (Fire fighting units, etc.), the simulation data (geographic and fire parameters etc.), the session user interfaces etc.

Example files are located in the distribution directory <C3FIRE-ROOT>/client/SessionDef/ Read more about the configuration examples in menu selection Configuration Examples.

The user interface layout is described at User Interface.

XML Definition

The session configuration is written with xml syntax and a file can contain the following xml elements:

<source>
<Config> 
  <SessionInfo>      
  <Roles>
    <Role>
  <Units>
    <Unit>
  <FireFightingConfig>
  <UnitCommunicationConfig>
  <UnitMovementConfig>
  <MapConfig>
  <MapLayer>
  <MapImageLayers>
  <MapLayerQuickSelectDisplay>
  <FireConfig>
  <ObjectTypes>
    <ObjectType>
  <MailConfig>

  <DiaryConfig>
  <MarkTypes>
    <MarkType>
  <MarkSendRules>
    <MarkSendRule>        
  <Objects>
    <Object>
  <DisplayObjects>
    <DisplayObjects>
  <UserInterfaceLayout>
    <Layout>
      <Object>
  <UnitInfoDisplay>
    <UnitInfoDisplayOutline>
      <UnitInfoDisplayOutlineCol>
      <UnitInfoDisplayOutlineRow>
    <UnitInfoDisplayDetail>
      <UnitInfoDisplayDetailRow>
  <AnalysisConfig>
  <ManagerConfig>
  <SessionControlLayout>
    <Object>
  <ObserverConfig>
  <SimulationMapLayout>
    <Object>
  <RolesMapLayout>
    <Object>
  <FireChartLayout>
    <Object>
  <ReplayConfig>
  <SimulationMapLayout>
    <Object>
</Source>


Config Include File

The configuration can be splitted in a set of files each containing a specific configurtion.

How to use configuration include files are described in page Config Include File.


Session Info

The xml element SessionInfo contain information about session classifications in an experiment series. The information is used to classify a session in the experiment. The information in the SessionInfo element is used in the analyze phase after a session. It helps the analyser to sort all logfiles generated in the experiment. The information is not used during a session. It does not affect the simulation. A property can be left without information.

When the session manager starts a session, a dialog will open so that the manager can enter the session info that is specific for the current group and session.

It is recommended to fill in the information that is possible when defining the configuration
It will help during the analysis. Better to do it before then to try to do it later.

When starting a session don't forget to enter the session info for the current group and session.


The SessionInfo is defined with the following properties:

Property

Value

ExperimentGroup

The name of the group or project that perform the experiment.

Value example = "gl",""

ExperimentName

The name of the experiment.

Value example = "gl1",""

ConditionNumber

The number of the condition.

Value example = "1",""

ConditionName

The name of the condition.

Value example = "Digital",""

ServerNumber

The number of the server.

Value example = "0",""

ServerName

The name of the server.

Value example = ""

SessionType

The type of the session.

Value example= ""

SessionNumber

The number of the session.

Value example = "2",""

SessionName

The name of the session.

Value example = ""

SessionConfigFileName

The name of the sessions configuration file.

Value example = "gl1-Condition1-Session2.con",""

SessionScenarioFileName

The name of the sessions scenario file.

Value example = "gl1-Condition1-Session2.sce",""

SessionPicDirectory

The name of the experiment.

Value example = ""

<Source>
   <SessionInfo
    ExperimentGroup = "gl"
    ExperimentName = "gl1"
    ConditionNumber = "1"
    ConditionName = "Digital"
    ServerNumber = "0"
    ServerName = ""
    SessionType = ""
    SessionNumber   = "2"
    SessionName = ""
    SessionConfigFileName = "gl1-Condition1-Session2.con"
    SessionScenarioFileName = "gl1-Condition1-Session2.sce"
    SessionPicDirectory = ""
  />
</Source>


Roles

Defines all roles (Players) in the session.

Role

Defines a role. A Role have a user interface and is controlled by a human player.

A role is defined with the following properties :

Property

Value

IDName

The identification name. This name must be unique, only one role can have a specific IDName. The
IDName is used to identify a role in the mail communication between the roles, in the mangers observation
tool etc.

Value example = "X", "Y", "Chief", "CH"

LongName

The long name is a used to be a describing name for a role

Value example = "Fire fighting unit chief X"

Type

The type of the role.

Possible Values = "Human"

MailSendTo

All mail addresses that this role can send mail to.

Value example = "X,Y,Chief,CH"

MapStartCenterScrollPos

The scroll pos of the map at start. The value is the position on the map that should be displayed in the center of the visible map area.

Value example = "20,20" MapStartCenterScrollPos

ControlUnits

The IDName of the units that this role control.

Value = "1,2,3,4"
Value example= "CP"

ControlStations

Value example = ""

LongName

Value example= "Pilot-1"

MailSendTo

Value example= "Blue"

MapDB

If the map manipulation should be send to some other role and displayed on that roles map.
Possible values = "True", "False"

Value example= "false"

MapDBTo

The roles that the map manipulation should be send to.
Value example = "X", "Y", "Chief", "CH"

Value example= ""

MapStartCenterScrollPos

Value example= "25,25"

Points

Value example= "1.0"

RemeberFireOnMap

If all fire simulation events should be remembered on the map.

If true then all fire events exposed on the map is remembered
also when they are not in the sight of units controlled by this
role. If false then all fire events vanish from the map when they
no longer is in sight of units controlled by this role.


Possible values = "True","False" Value example= "False" C3system-config-session-role-remember-fire-on-map-true-small.gif C3system-config-session-role-remeber-fire-on-map-false-small.gif

RemeberUnitPosOnMap

If the position of a unit that is not controlled by this role should be remembered on the map. If true then the
position of the unit is remembered on the map also when it is not in the sight of units controlled by this
role. Note, this remembered position may not after some time correspond with the units real position. If
false then the position vanish from the map when the unit is no longer in sight of units controlled by this role.

Possible values = "True", "False"
Value example= "false"

SeeAllFire

If all fire simulation events should be displayed on the map. If true then the role see all fire
Possible values = "True", "False"

Value example= "True"

SeeAllMap

Value example= "True"

SeeAllObjects

Value example= "True"

UnitInfoDisplayOutline

The name of the UnitInfoDisplayOutline that this role should have.
The UnitInfoDisplayOutlines are defined in the <UnitInfoDisplay> element in this xml file.

Value example = "Ground Chief"

See more in the menu selection session UI.
Value example= "Ground Chief"

UserInterfaceLayout

The name of the user interface layout that the role should have.
The user interfaces are defined in the <UserInterfaceLayout> element in this xml file.

Value example = "Ground Chief"

See more in the menu selection session UI.
Value example= "Blue" />

   <Role      
    IDName = "X"      
    LongName = "Ground Chief X"
    Type = "Human"      
    MailSendTo = "X,Y"      
    MapStartCenterScrollPos = "20,20"          
    MapDB = "false" 
    MapDBTo = ""      
    SeeAllFire = "true"      
    ControlUnits = "F1,F2,F3,F4"
    RemeberUnitPosOnMap = "true"
    RemeberFireOnMap = "false"
    UserInterfaceLayout = "Ground Chief"
    UnitInfoDisplayOutline = "Ground Chief"/>


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:

Property

Value

IDName

The identification name. This name must be unique, only one unit can have a specific IDName.
The IDName is used to identify a unit in the mail communication between the roles, in the
managers observation tool etc.

The IDName is also used for the system to find the images representing the unit on the map. See
The Unit's Image.

Value example= "F1"

LongName

The long name is a describing name for a unit

Value example= "Firefighter Unit One"

Type

The type of the unit.

This text string has no meaning in the simulation, and can be selected freely by the
session designer.

Value example = "FireFighter" , "Water Unit"

SendInfoTo

The roles that should receive information from this unit. The unit sends information as, position,
state, things it see, etc.

Value example = "X,Y"

MailSendTo

The mail addresses that this unit can send mail to.

Value example = "X,Y"

WindowRadius

The size of the visible area around the unit. The Unit see the fire states in this area. All
information outside this area is not visible for the unit. If an other unit or object are inside this
area, then it is visible for this unit.
The WindowRadius is, if wanted, visualised. This is done with the parameter WindowRadiusView.

Possible Value = "1", "2", "3"

1 : The area size is 1x1
2 : The area size is 3x3
3 : The area size is 5x5


The roles that are defined in the property SendInfoTo receive the information
viewed in the visible area. Value example= "2"C3-system-config-session-unit-window-radius1.gif

WindowRadiusView

If the visible area should be viewed on the map.

Possible values = "True", "False"

C3system-config-session-unit-window-radius1-true.gif C3system-config-session-unit-window-radius1-False.gif

WindowRadiusColor

The color of the viewed visible area.
The value should be a Hexa-Decimal based value as "#<Red><Green><Blue>"

Value example = "#555555"
Value example= "#303030" C3system-config-session-unit-window-radius1-color.gif

MovingSpeed

The number of seconds it takes for the unit to move one square.

Value example = "5"

FireFighterUnit

If the unit should have the capability to fight fire.

Possible values = "True", "False" Value example= "true"

FireFighterMobilizeSpeed

The number of seconds it takes for the unit to prepare for fire fighting.

Value example= "3"

FireFighterFightingSpeed

The number of seconds it takes to close out a normal fire in one square.

Value example= "4"

FireFighterDeMobilizeSpeed

The number of seconds it takes for the unit to prepare for moving after it has closed a fire.

Value example= "3"

FireBreakUnit

If the unit should have the capability to create a fire break.

Possible values = "True", "False"

Module : FireBreak, read more

This feature is possible only if Your C3Fire has the module FireBreak
included and if you has set the property FireBreak in the element
FireFightingConfig to "true"C3system-config-session-unit-window-radius2-firebreak.gif


FireBreakCreateSpeed

The number of seconds it takes for the unit to create a fire break on one square.

Value example= "30"

FuelTankSize

The amount of fuel this unit can have.

Value example = "90"

Module : FuelLogistic
Value example= "30"

FuelLevel

The amount of fuel this unit contain at start of session.

Value example = "90"

Module : FuelLogistic
Value example= "10"

FuelLevelCountDownSpeed

The amount of fuel the unit counts down fuel level every second it is moving.

Value example = "1"

Module : FuelLogistic
Value example= "0.10"

FuelRefillSpeed

The amount of fuel the unit gain every second it is refilling fuel.

Value example = "10"

Module : FuelLogistic
Value example= "5"

FuelTankUnit

If the unit can supply fuel to other units.

Possible values = "True", "False"

Module : FuelLogistic

This is possible only if Your installed C3Fire have FuelLogistic included and FuelLogistic of FireFightingConfig is set to "true") Value example= "false"

WaterTankUnit

If the unit can supply water to other units.

Possible values = "True", "False"

Module : WaterLogistic

This is possible only if Your installed C3Fire have WaterLogistic included and WaterLogistic of
FireFightingConfig is set to "true")

WaterTankSize

The amount of water this unit can have.

Value example = "300"

Module : WaterLogistic

WaterLevel

The amount of water this unit contain at start of session.

Value example = "13"

Module : WaterLogistic

WaterLevelCountDownSpeed

The amount of water the unit counts down water level every second it is fighting a fire.

Value example = "5"

Module : WaterLogistic

WaterRefillSpeed

The amount of water the unit gain every second it is refilling water.

Value example = "10"

Module : WaterLogistic

CommandDelayTime

The delay time is the number of seconds from that a unit got a command from a user to the
moment when the unit starts to perform the command. When a unit got a commad the unit puts
the comman in its input command queue. There can exist a numbr of commands waiting to be
started in the command queue.

Value example = "10"

Module : Command Delay

This feature is possible only if Your C3Fire has the module CommandDelay included and if you
has set the property CommandDelay in the element UnitCommunicationConfig to "true" Value example= "0"

IntentionImageNrOfDistanceLevels

The number of images that represent the units intention. The Image will change depending on
how long time it takes for the unit to arrive to the intended position. The system can be configured
to have between one and five images.

Possible values = "1","2","3","4","5"

Example : If you have selected to have 5 images, then the following images are shown,
depending on how long time it will take for the unit to go from it's current position to it's intended,br. position.,br. Value example= "5"


C3system-config-session-unit-f1idl512.gif If time larger then 25 seconds. ( F1IDL512.gif )

C3system-config-session-unit-f1ild412.gif If time larger then 20 seconds. ( F1IDL412.gif )

C3system-config-session-unit-f1ild312.gif If time larger then 15 seconds. ( F1IDL312.gif )

C3system-config-session-unit-f1ild212.gif If time larger then 10 seconds. ( F1IDL212.gif )

C3system-config-session-unit-f1i12.gif Otherwise show the default image. ( F1I12.gif )

IntentionImageDistanceLevel2Time

If the time, in seconds, before the unit arrive to the intended position is larger than this value then
the Image DL2 is viewed.

Value example= "10"

IntentionImageDistanceLevel3Time

If the time, in seconds, before the unit arrive to the intended position is larger than this value then
the Image DL3 is viewed.

Value example= "15"

IntentionImageDistanceLevel4Time

If the time, in seconds, before the unit arrive to the intended position is larger than this value then
the Image DL4 is viewed.

Value example = "20"

IntentionImageDistanceLevel5Time

If the time, in seconds, before the unit arrive to the intended position is larger than this value then
the Image DL5 is viewed.

Value example= "25" />

<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.


Units position : F1 Position

Units position selected : F1 Position Selected

Units intention : F1 Intention

Units intention selected : F1 Intention Selected

C3system-config-session-unit-window-image-mappanel.gif
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 used to identify a unit in the mail communication between the roles, in the
managers observation tool etc.

The IDName is also used for the system to find the images representing the unit on the map. See
The Unit's Image.

Value example= "F1"

Pos

The start location on the map.
X, Y or (Col,row) on the map.

Value example = "9,8"

<source>
<Unit      
  IDName = "F1"      
  Pos = "9,8"      
/>
</source>


Object Types

The xml element ObjectTypes defines all the geographical object types in a session.

<source>
<ObjectTypes>
  <ObjectType> ... </ObjectType>
  <ObjectType> ... </ObjectType>
  ...
  <ObjectType> ... </ObjectType>
</ObjectTypes>
</source>

The xml element ObjectType defines a geographical object type and contain a set of basic properties. Beside the basic properties the activated modules can add properties for the ObjectTypes. See documentation for each module.

A geographical object type is defined with the following properties:

Property

Value

IDName

Value example= "Normal"

FireSpeed

Value example= "1"/>

<Source>
 <ObjectType
  IDName = "Normal"
  FireSpeed = "1"/>
</Source>

Property

Value

IDName

The identification name for a object type.

Value example = "Pine", "Birch", "House", "Water"

FireSpeed

The fire spread factor for this object. The ignite time is multiplied with this value.

Value example= "1"/>
Value example = "0.5"
For more information see the fire simulation documentation.

WaterRefillSpeed

The amount of water this object can to deliver every second to a unit that is refilling water from this object.
Apply on object type "water". Value example = "15"

Module : Water Logistic

Should only be defined if the module WaterLogistic is active.

FuelRefillSpeed

The amount of fuel this object can to deliver every second to a unit that is refilling fuel from this object. Apply on object type "fuel". Value example = "15"

Module : Fuel Logistic

Should only be defined if the module FuelLogistic is active.

<Source>
<ObjectType 
  IDName = "Water" 
  FireSpeed = "1"
  WaterRefillSpeed  = "15"
  FuelRefillSpeed  = "2.5"/>
</Source>


Objects

The xml element Objects contains all map objects that should exist in the simulation.

Object

Defines where a map object should exist.

Configuration example:

<source>
<Objects>
  <Object> ... </Object>
  <Object> ... </Object>
  ...
  <Object> ... </Object>
 <Object Type = "Pine" Pos = "12,12" />
    <Object Type = "Pine" Pos = "12,11" />
    <Object Type = "Pine" Pos = "11,2" />
    <Object Type = "Birch" Pos = "38,23" />
    <Object Type = "Birch" Pos = "23,40" />
    <Object Type = "Birch" Pos = "2,32" />
    <Object Type = "House" Pos = "40,40" />
    <Object Type = "Water" Pos = "17,22" />
    <Object Type = "Fuel"  Pos = "11,12" />
    <Object Type = "Water"  Pos = "10,10" />
</Objects>
</source>


A object is defined with the following properties:

Property

Value

Type

The object type identification number.

Value example = "House"
Value example= "Pine"

Pos

Pos on the map

Value example = "2, 20"
Value example= "12,12"

<Source>
    <Object
        Type = "Pine" 
         Pos = "12,12" 
    />
</Source>


Object Image

The image representing this object on the map should have the file name IDName with '12.gif' as a
extension ( <IDName>12.gif).

Example : Pine12.gif

The image file should be stored in the map image catalog <C3FIRE-MAP-IMAGES> , located at <C3FIRE-WWW-ROOT>/pic/

Example : C:\c3fire\www\pic\Pine12.gif


The standard experiment setting defines four object types. They are Normal, Pine, Birch and House.
The module extended setting defines an additional object type, Water. The type must be represented
of an image, named and saved according to examples above.


Standard experiment setting

Normal : C3system-config-session-unit-window-image-normal12.gif

Pine : C3system-config-session-unit-window-image-pine12.gif

Birch : C3system-config-session-unit-window-image-birch12.gif

House : C3system-config-session-unit-window-image-house12.gif


Module extended setting
Water : C3system-config-session-unit-window-image-water12.gif


C3system-config-session-unit-window-image-geographical-objects.gif
The different
geographical objects


Fire FightingConfig

The xml element FireFightingConfig defines the fire fighting properties.

The fire fighting is defined with the following properties: Configuration example:

Property

Value

WaterLogistic

If water logistic should be included in the session. If true then module is included.

Possible values = "True", "False"

Module : WaterLogistic

For more information about the module see WaterLogistic.
This feature is possible only if Your C3Fire distribution has the module WaterLogistic
included.

WaterRefillOnPosType

Defines refilling-water position constraints between a unit that wants water and a water
refilling unit.

Possible values :
"WaterRefillOnSamePos", "WaterRefillOnNESWPos"
Default are "WaterRefillOnNESWPos"

WaterRefillOnSamePos
The water refilling process can start if the units are on the same pos on the map.

WaterRefillOnNESWPos
The water refilling process can start if the unit that wants water is one square left, right,
over or under the water refilling unit. The unit should stand on square North, East,
South or West of the other unit. (On NESW Pos).

If the unit that wants water is on pos (x,y).
Then possible positions for the water refilling unit are :
(x-1,y), (x+1,y), (x,y-1) or (x,y+1)
Not possible positions are :
(x,y), (x-1,y-1), (x+1,y+1), (x+1,y-1), (x-1,y+1)

FireBreak

If the possibility to create fire breaks should be included in the session. If true then
module is included.

Possible values = "True", "False"

Module : FireBreak, read more

For more information about the module see FireBreak.
This feature is possible only if Your C3Fire distribution has the module FireBreak included.

FireFightingLocalAreaCoordinationType

How the fire fighting units are collaborating when they are on one the same square.

Possible values = "UnitCollaboration", "OnlyOneUnit",
"OnlyOneUnitAndTimeDelay"

UnitCollaboration
The units collaborates well when fighting the fire in the square. The time for fighting the
fire is calculated as below. It means that the fighting time will be half of the time the most efficient unit in the square.

Fighting time = Minimum(

 (Remaining fighting time for the units that 
 already is fighting),
 (Fighting time for the new unit)

)/2

OnlyOneUnit
The units do not collaborate when fighting the fire in the square. Their being in the same square does not interfear with the fire extinguishing.The time for fighting the fire is calculated as below. It means that the fighting unit that is best qualified(have the best fighting time) will do the fire fighting. Fighting time = Minimum(

 (Remaining fighting time for the units that 
  already is fighting),
 (Fighting time for the new unit)

)

OnlyOneUnitAndTimeDelay
The units do not collaborate when fighting the fire in the square. They interfear with each others work and a delay time is added to the fire fighting time.The time for fighting the fire is calculated as below.

It means that the fighting unit that is best qualified(have the best fighting time) will do the fire fighting, but the unit have some extra time added to its regular fire fighting time. Fighting time = Minimum(

 (Remaining fighting time for the units that 
  already is fighting),
 (Fighting time for the new unit)

) + fireFightingLocalAreaCoordinationDelayTime

FireFightingLocalAreaCoordinationDelayTime

The delay time added to the unit that extinguish fire when the
FireFightingLocalAreaCoordinationType is set to "OnlyOneUnitAndTimeDelay".

Value example= "20" />

<Source>
   <FireFightingConfig 
    WaterLogistic = "true"
    WaterRefillOnPosType = "WaterRefillOnNESWPos"
    FireBreak = "true"
    FireFightingLocalAreaCoordinationType = "OnlyOneUnitAndTimeDelay" 
    FireFightingLocalAreaCoordinationDelayTime = "20" /> 
</Source>


MapConfig

The xml element MapConfig defines the map properties.

The map is defined with the following basic properties:

<source>
<MapConfig    
  UseLayers = "True"
  MapSize = "40, 40"        
  MapPosSize = "18"
  MapXIndexType = "Alpha"    
  BackgroundImage = "Dev1.gif" 
  UseMatrix = "true"    
  MatrixLineColor = "#A0A0A0"
  MatrixThinLineColor = "#E0E0E0" />
</source>

Property

Value

UseLayers

If map layers should be included in the session. If true then module is included.

Possible values = "True", "False"

Module : MapLayers

For more information about the module see MapLayers. This feature is possible only if Your C3Fire distribution has the module MapLayers included.

MapSize

The size of the map

Value example = "40, 40"

MapPosSize

The size of a map square on the window screen. The size is the number of pixels in one square side. Do not
change this value, it should be 18.

Possible value = "18"

MapXIndexType

The type of map index in the X direction.
Alpha = A,B,C, ... ,AA,BB,CC ...
Numeric = 1,2,3 ...

Possible value = "Alpha", "Numeric" C3system-config-session-unit-window-map-configuration-aipha.gif C3system-config-session-unit-window-map-configuration-numeric.gif

IDName

Value example= "Main"

NameShort

Value example= "Main"

NameLong

Value example = "Main"

Type

Value example= ""

AltitudeHigh

Value example= "0.0"

AltitudeLow

Value example= "0.0"

BackgroundColor

Value example= "#FFFFFF"

BackgroundImage

The image that should be displayed as background in the map

Value example = "MapIm.gif"
Value example= "Background-40x40.gif" C3system-config-session-unit-window-map-background-image.gif

MatrixUse

If a matrix showing squares on the map

Possible values = "True", "False" C3system-config-session-unit-window-map-matrix-true-small.gif C3system-config-session-unit-window-map-matrix-false-small.gif

IndexXType

Value example= "Alpha"

IndexYType

Value example= ""

InteractionDistanceBase

Value example= "50"

LatitudeNorth

Value example= "0.0"

LatitudeSouth

Value example= "0.0"

LongitudeEast

Value example= "0.0"

LongitudeWest

Value example= "0.0"

MapGridType

Value example= "Square"

MatrixLineColor

The color of the thick matrix lines.
The value should be a Hexa-Decimal based value as "#<Red><Green><Blue>"

Value example = "#555555"

Value example= "#A0A0A0"

MatrixThinLineColor

The color of the thin matrix lines. The value should be a Hexa-Decimal based value as "#<Red><Green><Blue>"

Value example = "#555555"
Value example= "#B0C0C0"

MovingTime

Value example= "20"

OSMFile

Value example= ""

OSMNodeSize

Value example= "9"

PosSize

Value example= "18"

RoadColor

Value example= "#000000"

RoadView

Value example= "False"

ScrollBarUse

Value example= "False"

Size

Value example= "40,40"

Speed

Value example= "5.0"

ViewDistanceBase

Value example= "70"

ZeroCornerPos

Value example= ""

ZoneFile

Value example= "zones.xml" />

  <Maps>

    <Map
      IDName = "Main"
      NameShort = "Main"
      NameLong = "Main"
      Type = ""
      AltitudeHigh = "0.0"
      AltitudeLow = "0.0"
      BackgroundColor = "#FFFFFF"
      BackgroundImage = "Background-40x40.gif"
      IndexXType = "Alpha"
      IndexYType = ""
      InteractionDistanceBase = "50"
      LatitudeNorth = "0.0"
      LatitudeSouth = "0.0"
      LongitudeEast = "0.0"
      LongitudeWest = "0.0"
      MapGridType = "Square"
      MatrixLineColor = "#A0A0A0"
      MatrixThinLineColor = "#B0C0C0"
      MatrixUse = "true"
      MovingTime = "20"
      OSMFile = ""
      OSMNodeSize = "9"
      PosSize = "18"
      RoadColor = "#000000"
      RoadView = "False"
      ScrollBarUse = "False"
      Size = "40,40"
      Speed = "5.0"
      ViewDistanceBase = "70"
      ZeroCornerPos = ""
      ZoneFile = "zones.xml" />

  </Maps>



MailConfig

The xml element MailConfig defines the mail system properties. Individual mail settings are defined in the role definition for all users.

The mail is defined with the following properties:

Property

Value

UseRoleSendButtons

Not used

Value example = ""

ViewNextMailButtonAlwaysEnabled

Value example= "true"

ReceiveMailSound

The sound that are played when a role receive a mail.
The audio file should be located in the audio directory <C3FIRE-AUDIO> located at <C3FIRE-WWW-
ROOT>/audio/.

Value example= "bottle-open.wav"

LineWrap

The text on a row in the mail box are automatically line wraped if the text is longer than the line.

Value example= "true" ,False"

ReceiveAppend

If old mail should be visible or not.

If ReceiveAppend is set to true all mails will be saved in the mail view panel. If it is set to false the
present mail dissapear when a new mail is viewed.

Value example="True", "false"

UnReadMailBackgroundColor

The color of the mail read panel background when the user has a mail that he or she has not read.

Value example= "#F0D0D0" /> "#FFFFFF"
C3system-config-session-unit-window-unread-mail-background-color-small.gif
"#F0D0D0

 <MailConfig     
  ViewNextMailButtonAlwaysEnabled = "true"
  ReceiveMailSound = "bottle-open.wav"  
  LineWrap = "true"
  ReceiveAppend = "false"
  UnReadMailBackgroundColor = "#F0D0D0" />

Mail Groups

It is possible to create mail grops so that all members of a group receives the mail when mail send to that group.

The xml element MailGroups defines the mail groups.


The mail groups are defined with the following properties:

Property

Value

IDName

The identification name

Value example = "FireChiefs"

Members

The members in the group.

Value example= "A,B,C"

ToText

The text on the mail button
or the mail adress that the sender should write to send to the group.

Value example= "Fire"

Example

  <MailGroups>

    <MailGroup
      IDName = "FireChiefs"
      Members = "C,E,G"
      ToText = "Fire" />

    <MailGroup
      IDName = "RescueChiefs"
      Members = "H,I,K"
      ToText = "Rescue" />

  </MailGroups>


Role can send to

In Role definition add the group IDName that the role should be able to send to.

Example

   <Role
      ...
      MailSendTo = "B,C,E,G,FireChiefs,RescueChiefs"
      ...


DiaryConfig

The xml element DiaryConfig defines the diary system properties.

The diary is defined with the following properties :

Property

Value

ReceiveMessageSound

The sound that are played when a role receive a diary note.
The audio file should be located in the audio directory <C3FIRE-AUDIO> located at <C3FIRE-WWW-
ROOT>/audio/.

Value example = "sound.wav"

LineWrap

The text on a row in the diary box are automatically line wraped if the text is longer than the line.

Value example= "true", "false" />

<Source>
 <DiaryConfig     
  ReceiveMessageSound = "bottle-open.wav" 
  LineWrap = "true" />
</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.
This feature is possible only if Your C3Fire distribution has the module CommandDelay included.

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.
This feature is possible only if Your C3Fire distribution has the module FuelLogistic included.

FuelRefillOnPosType

Defines refilling-fuel position constraints between a unit that wants fuel and a fuel refilling unit.

Possible values :
"FuelRefillOnSamePos", "FuelRefillOnNESWPos"
Default are "FuelRefillOnNESWPos"

FuelRefillOnSamePos
The fuel refilling process can start if the units are on the same pos on the map.

FuelRefillOnNESWPos
The fuel refilling process can start if the unit that wants fuel is one square left, right, over or under the fuel
refilling unit. The unit should stand on square North, East, South or West of the other unit. (On NESW Pos).

If the unit that wants fuel is on pos (x,y).
Then possible positions for the fuel refilling unit are :
(x-1,y), (x+1,y), (x,y-1) or (x,y+1)
Not possible positions are :
(x,y), (x-1,y-1), (x+1,y+1), (x+1,y-1), (x-1,y+1)

<Source>
 <UnitMovementConfig
  FuelLogistic = "true"
  FuelRefillOnPosType = "FuelRefillOnNESWPos"/>
</Source>


Map Layer

Defines the amount of layers for the Map, the image connected to the layer and the layers name on the quick select display. The location
of the MapPanel and the MapLayerQuickSelectDisplay on a clients user interface is configured in the clients user interface configuration.

Configuration example

<Source>       
<MapLayer > 
  
  <MapImageLayers>
    <MapImageLayer 
      Name="Red" 
      FileName = "vy-small-2035x1783.gif"/>
    <MapImageLayer 
      Name="Blue" 
      FileName = "road-2035x1783.gif"/>
    <MapImageLayer 
      Name="Green" 
      FileName = "green-2035x1783.gif"/>
    <MapImageLayer 
      Name="White" 
      FileName = "fly-2035x1783.gif"/>    
  </MapImageLayers>
  
  <MapLayerQuickSelectDisplay>
    <MapLayerQuickSelect 
      Name="Red" />
    <MapLayerQuickSelect 
      Name="Blue" />
    <MapLayerQuickSelect 
      Name="Green" />
    <MapLayerQuickSelect 
      Name="White" />    
  </MapLayerQuickSelectDisplay>  
  
</MapLayer>
</Source>


MapImageLayers

Defines the amount of layers for the Map.


MapImageLayer

Defines the name of the layer and the image connected to the layer.

Property

Value

Name

The name of the layer. Value example = "Blue","Green"

FileName

Name of the image that shall be visible at the layer.
Value example = "road-2035x1783.gif"


MapLayerQuickSelectDisplay

Defines the amount of buttons on the select map layer display.


MapLayerQuickSelect

Defines the name of the button connected to a MapImageLayer.

Property

Value

Name

The name of the button representing a layer in the map.
The name is the same as the name of the MapImageLayer
Value example = "Blue","Green"


Fire Config

The xml element FireConfig defines the fire properties.

The fire is defined with the following properties :

Property

Value

WindFactor

How much the fire behaviour is changed depending on the wind.
See fire development formel

Value range = "0.8" ... "0.8"
For more information see the fire simulation documentation.

IgniteTime

How long time it takes for a normal square do ignite if it is burning in a neighbour square.
See fire development formel

Value example= "20"
Value example = "40"
For more information see the fire simulation documentation.

BurnOutTime

How long time it takes for a square to burn down.
See fire development formel

Value example= "40" /> Value example = "80"
For more information see the fire simulation documentation.

<Source>
 <FireConfig     
  WindFactor = "0.8"    
  IgniteTime = "20"    
  BurnOutTime = "40" />
</Source>


Fire States

Defines the different states a fire in a square can be in.
Possible states are; Clear, Fire, ClosedOut, BurnedOut, FireBreak.

Do not change the values in the <FireStates> element.
The fire simulation in C3Fire version 3.1 and 3.2 can not handle other states than the one defined in the default configuration file.

FireState

Defines a fire state that a fire in a square can be in.

The image representing this fire state on the map should have the file name IDName with '12.gif' as an extension ( <IDName>12.gif).

Example : Clear12.gif

The image file should be stored in the map image catalog <C3FIRE-MAP-IMAGES> , located at <C3FIRE-WWW-ROOT>/pic/

Example : C:\c3fire\www\pic\Clear12.gif

The standard experiment setting defines four states a fire in a square can be in. Possible states are; Clear, Fire, ClosedOut and
BurnedOut. Each state must be represented of an image, named and saved according to examples above.

Clear : C3system-config-session-unit-window-fire-stete-clear12.gif

Fire : C3system-config-session-unit-window-fire-stete-fire12.gif

Closed Out : C3system-config-session-unit-window-fire-state-closed-out12.gif

Burned Out : C3system-config-session-unit-window-fire-state-burned-out12.gif

C3system-config-session-unit-window-fire-state-fire-states.gif
The different states of fire


Configuration example:

<Source>
  <FireState 
  IDName = "Clear" />

</Source>

Property

Value

IDName

The identification name for a fire state type.

Value example = "Clear","Fire","ClosedOut","BurnedOut"


MarkTypes

The xml element MarkTypes defines the mark object types that can be used in a session. A user can put mark objects on his or her map.


MarkType

Defines a mark objects type properties.

The mark type is defined with the following properties :

<source>
<MarkTypes>
  <MarkType> ... </MarkType>
  <MarkType> ... </MarkType>
  ...
  <MarkType> ... </MarkType>
</MarkTypes>
</source>

The xml element MarkType defines a mark object type properties.

The mark type is defined with the following properties:

Property

Value

IDName

The identification name. This name must be unique, only one mark can have a specific IDName.

Value example = "A","B"
Value example= "F12"

Multiple

If it can exist more than one mark of this type of mark on the map at the same time.

Value example="true", "false"

AutoRemove

If the mark should be automatically removed after a specific time.

Value example= "true", "False"

AutoRemoveTime

Number of seconds that the mark should be visible on the map.

Value example = "20"
Value example = "10"

Flash

If the mark should be flashing on the map.

Value example= "true", "False"

CreateSound

The sound that should be activated when a role receive a mark.
The audio file should be located in the audio directory <C3FIRE-AUDIO> located at <C3FIRE-WWW-ROOT>/audio/.

Value example = "sound.wav"
Value example= "bottle-open.wav" />

<Source>
 <MarkType       
  IDName = "F12"       
  Multiple = "false"  
  AutoRemove = "true"       
  AutoRemoveTime = "10"         
  Flash = "true" 
  CreateSound = "bottle-open.wav"  />
</Source>


Mark Type Image

The image representing this mark object on the map should have the file name IDName with 'M12.gif'
as a extension ( <IDName>M12.gif).


Example : F12M12.gif C3system-config-session-unit-window-mark-type-image-f12m12.gif

The image file should be stored in the map image catalog <C3FIRE-MAP-IMAGES>, located at
<C3FIRE-WWW-ROOT>/pic/

Mark Send Rules

The xml element MarkSendRules defines rules that describes how a mark should be send between the roles (players).

MarkSendRule

A mark send rule is defined with the following properties :

Property

Value

SenderRoleIDNames

The senders that can send the marks defined by this rule.

Value example = "X,Y", "Ch"

MarkIDNames

The marks that can be send.

Value example = "A,B,C"
Value example= "F1,F2"

ReceiverRoleIDNames

The receivers of the mark

Value example= "X,Y", "Ch" />

<Source>
 <MarkSendRule       
  SenderRoleIDNames = "Y"       
  MarkIDNames = "F1,F2"     
  ReceiverRoleIDNames = "X"   />
</Source>


Display Objects

The xml element Objects contains all map objects that should be visible on the users map at start.

DisplayObject

Defines where a map object should exist on the map.

Configuration example

<source>
<DisplayObjects>
  <DisplayObject> ... </DisplayObject>
  <DisplayObject> ... </DisplayObject>
  ...
  <DisplayObject> ... </DisplayObject>
    <DisplayObject Type = "Pine"  Pos = "5,10" />
    <DisplayObject Type = "Pine"  Pos = "38,22" />
    <DisplayObject Type = "Birch" Pos = "37,23" />
    <DisplayObject Type = "Birch" Pos = "1,2" />
    <DisplayObject Type = "Birch" Pos = "23,34" />
    <DisplayObject Type = "House" Pos = "1,38" />
    <DisplayObject Type = "Water" Pos = "17,22" />
    <DisplayObject Type = "Fuel"  Pos = "11,12" />
    <DisplayObject Type = "Water"  Pos = "10,10" />    
</DisplayObjects>
</source>

A DisplayObject is defined with the following properties:

Property

Value

Type

The object type identification number.

Value example = "House"
Value example= "Pine"

PosX

Pos on the map

Value example = "5, 10"
Value example= "12,12"


 
<Source>
    <DisplayObject
        Type = "Pine" 
         Pos = "12,12" 
    />
</Source>


User Interface Layout

The sub element <UserInterfaceLayout> of <Config> is described in Session UI


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,
LongName, Type, SendInfoTo, WaterLevel, WaterTankSize, FuelLevel, FuelTankSize, MovingSpeed, MobilizingSpeed,
FireFightingSpeed and DeMobilizingSpeed.

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,
LongName, Type, SendInfoTo, WaterLevel, WaterTankSize, FuelLevel, FuelTankSize, MovingSpeed, MobilizingSpeed,
FireFightingSpeed and DeMobilizingSpeed.

DisplayType

The type of information the row will handle.

Value example = "String"


AnalysisConfig

Defines what UnitInfoDisplayOutline to use.

Configuration example

Property

Value

UnitInfoDisplayOutlineToUse

The identification name of the UnitInfoDisplayOutline.

Value example = "Manager"

 
<Source>
    <AnalysisConfig  
      UnitInfoDisplayOutlineToUse = "Manager"/> 
</Source>


ManagerConfig

Defines the user interface for the manager.

Configuration example

Property

Value

WindowSize

The identification name of the UnitInfoDisplayOutline.

Value example = "1024,740"

<source>
<ManagerConfig
  WindowSize = "1280,996" > 
  
  <SessionControlLayout>
    <Object Name="SessionNr" Visible="true" Pos="5,10"/>
    <Object Name="Time" Visible="true" Pos="5,30" Size="70,50"/>
    <Object Name="SessionControl" Pos="80,30" Size="290,60"/>
    <Object Name="RolesInfo" Pos="5,95" Size="240,145"/>
    <Object Name="Wind" Visible="true" Pos="250,95" Size="120,145"/>
    <Object Name="UnitInfoOutline" Visible="true" Pos="5,245" Size="365,155"   
            UnitInfoOutline="Manager"/>
    <Object Name="UnitInfoDetail" Visible="true" Pos="5,410" Size="365,270"/>
    <Object Name="Map" Visible="true" Pos="375,10" Size="760,766"/>
    <Object Name="PointerPosition" Visible="true" Pos="1140,10" Size="120,50"/>
    <Object Name="UnitPalette" Visible="true" Pos="1140,65" Size="120,200"/>
    <Object Name="MarkPalette" Visible="false" Pos="1140,550" Size="120,100"/>
    <Object Name="ObjectPalette" Visible="true" Pos="1140,270" Size="120,165"/>
    <Object Name="FirePalette" Visible="true" Pos="1140,440" Size="120,120"/>
    <Object Name="Logga" Pos="1150,665"/>
    <Object Name="MapLayerQuickSelect" Visible="false" Pos="1140,505"  
            Size="120,120" ButtonGridLayout = "0,1" StartLayer = "Green" /> 
  </SessionControlLayout>
  
</ManagerConfig>      
</source>


SessionControlLayout

Defines layout for objects within manager interface.


Object

Defines the properties for a user interface object.

Possible user interface objects are "Window", "Logga", "RoleName", "Time", "Wind", "Map", "PointerPosition", "UnitInfoOutline",
"UnitInfoDetail", "ObjectPalette", "FirePalette", "MarkPalette", "UnitPalette", "Mail", "Diary" and "MapLayerQuickSelect".


Window

The main user interface window.

Property

Value

Size

The size of the object.
Value example = "1280,1024" C3system-config-session-unit-window-w125.gif

<source>
   <Object 
    Name = "Window"   
    Size = "1024,740" />
</source>


Logga

Logotype of C3Fire.

Property

Value

Visible

If the logga should be visible.

Possible values = "true", "false" C3system-config-session-unit-water-stamp-98-80.gif

Pos

The position of the logga.
The position of the upper left corner.

Value example = "265,220"

<source>
<Object 
    Name = "Logga" 
    Visible = "true"
    Pos = "265,220" />
</source>


RoleName

Panel containing long name of the Role connected to this layout.

Property

Value

Visible

If the RoleName panel should be visible.

Possible values = "true", "false" C3system-config-session-unit-rolename-panel.gif

Pos

The position of the RoleName panel.
The position of the upper left corner.

Value example = "8,10"

<source>
<Object 
    Name = "RoleName" 
    Visible = "true"  
    Pos = "8,10" />
</source>


Time

Time in the simulation.

Property

Value

Visible

If the time panel should be visible.

Possible values = "true", "false" C3system-config-session-unit-time-panel.gif

Pos

The position of the time panel.
The position of the upper left corner.

Value example = "10,30"

Size

The size of the time panel.

Value example = "75,50"

<source>
<Object 
    Name = "Time"     
    Visible = "true"  
    Pos = "10,30"  
    Size = "75,50" />
</source>


Wind

Shows wind direction in the session.

Property

Value

Visible

If the wind panel should be visible.

Possible values = "true", "false" C3system-config-session-unit-wind-panel.gif

Pos

The position of the wind panel.
The position of the upper left corner.

Value example = "870,10"

Size

The size of the wind panel.

Value example = "130,145"

<source>
<Object 
    Name = "Wind"     
    Visible = "true"  
    Pos = "870,10" 
    Size = "130,145"/>
</source>


Map

Panel in wich a map is exposed.

Property

Value

Visible

If the map panel should be visible.

Possible values = "true", "false" C3system-config-session-unit-map-panel-w125.gif

Pos

The position of the map panel.
The position of the upper left corner.

Value example = "250,10"

Size

The size of the map panel.

Value example = "610,610"

<source>
<Object 
    Name = "Map"      
    Visible = "true"  
    Pos = "250,10" 
    Size="610,610"/>
</source>


PointerPosition

Exposes the pointers position when it is in MapPanels area.

Property

Value

Visible

If the PointerPosition panel should be visible.

Possible values = "true", "false" C3system-config-session-unit-pointer-position-panel.gif

Pos

The position of the PointerPosition panel.
The position of the upper left corner.

Value example = "870,155"

Size

The size of the PointerPosition panel.

Value example = "130,50"

<source>
  <Object  
    Name = "PointerPosition"  
    Visible = "true" 
    Pos = "870,155"
    Size = "130,50"/>
</source>


UnitInfoOutline

Exposes information about units.

Property

Value

Visible

If the UnitInfoOutline panel should be visible.

Possible values = "true", "false" C3system-config-session-unit-unitinfo-outline-w130.gif

Pos

The position of the UnitInfoOutline panel.
The position of the upper left corner.

Value example = "10,85"

Size

The size of the UnitInfoOutline panel.

Value example = "230,120"

<source>
<Object 
    Name = "UnitInfoOutline" 
    Visible = "true" 
    Pos = "10,85"  
    Size="230,120"/>
</source>


UnitInfoDetail

Exposes information about a unit.

Property

Value

Visible

If the UnitInfoDetail panel should be visible.

Possible values = "true", "false" C3system-config-session-unit-unitinfo-detail-w130.gif

Pos

The position of the UnitInfoDetail panel.
The position of the upper left corner.

Value example = "10,205"

Size

The size of the UnitInfoDetail panel.

Value example = "230,200"

<source>
 <Object 
    Name = "UnitInfoDetail"  
    Visible ="true" 
    Pos = "10,205" 
    Size = "230,200"/>
</source>


UnitPalette

Exposes the units.

If you want the user to be able to manipulate the objects on the map out any connection to the simulation, the properties Position Enabled
and Intention Enabled should be true. When the values are true the user can use the map to put where he or she believe units are.

Property

Value

Visible

If the UnitPalette panel should be visible.

Possible values = "true", "false" C3system-config-session-unit-palette-panel.gif

Pos

The position of the UnitPalette panel.
The position of the upper left corner.

Value example = "870,205"

Size

The size of the UnitPalette panel.

Value example = "130,165"

PositionEnabeled

If the user should be able to "on the map" move the postition for the units that he or she are not controlling. No
signal are send to the simulation, the manipulation is only on the map. If the role get an update on the unit's real
position then the unit are moved to its real position on the map.

Possible values = "true", "false"

IntentionEnabeled

If the user should be able to "on the map" move the intention for the units that he or she are not controlling. No
signal are send to the simulation, the manipulation is only on the map. If the role get an update on the unit's real
intention position then the unit intention are moved to its real position on the map.

Possible values = "true", "false"

<source>
<Object 
    Name = "UnitPalette"     
    Visible = "true"  
    Pos = "870,205"  
    Size = "130,165" 
    PositionEnabeled = "true" 
    IntentionEnabeled = "true" />
</source>


ObjectPalette

Exposes different types of objects, such as a house or a pine, for marking them at the map in MapPanel.

Property

Value

Visible

If the ObjectPalette panel should be visible.

Possible values = "true", "false" C3system-config-session-unit-object-palette-panel.gif

Pos

The position of the ObjectPalette panel.
The position of the upper left corner.

Value example = "870,375"

Size

The size of the ObjectPalette panel.

Value example = "130,120"

Enabeled

If the user should be able to put objects on the map. No signal are send to the simulation, the manipulation is only on the
map. If the role get an update on a real object from an unit then the real object is drawn on the map.

Possible values = "true", "false"

<source>
<Object 
    Name = "ObjectPalette"   
    Visible = "true"  
    Pos = "870,375" 
    Size = "130,120" 
    Enabeled = "true" />
</source>


FirePalette

Exposes the different types of fire for marking them at the map in MapPanel.

Property

Value

Visible

If the FirePalette panel should be visible.

Possible values = "true", "false"C3system-config-session-unit-fire-palette-panel.gif

Pos

The position of the FirePalette panel.
The position of the upper left corner.

Value example = "870,500"

Size

The size of the FirePalette panel.

Value example = "130,120"

Enabeled

If the user should be able to put a fire state on the map. No signal are send to the simulation, the manipulation is only on
the map. If the role get an update on a fire state from an unit then the real fire state is drawn on the map.

Possible values = "true", "false"

<source>
<Object 
    Name = "FirePalette"     
    Visible = "true"  
    Pos = "870,500" 
    Size = "130,120" 
    Enabeled = "true" />
</source>


MarkPalette

A mark is used to communicate with symbols on the map. A mark does not interfere with the simulation. The session designer can define
what a mark symbol should mean in a session. For example, assume you have a symbol for an area of greate importance to save, and during a firefighting session one of the participants
gets information about a schoolbuss being stuck on a certain area. The participant puts the mark on the map. The mark itself does not
interfere with the simulation but the actions of all participaters will.
Using marks is a way to communicate with symbols.

The title is set in the language configuration with the parameter c3cc.mark.MarkPalettePanel-PanelLabel.

Value example = " c3cc.mark.MarkPalettePanel-PanelLabel = 'Commands' "

Property

Value

Visible

If the MarkPalette panel should be visible.

Possible values = "true", "false"C3system-config-session-unit-mark-palette-panel.gif

Pos

The position of the MarkPalette panel.
The position of the upper left corner.

Value example = "0,0"

Size

The size of the MarkPalette panel.

Value example = "0,0"

Enabeled

If the user should be able to put a mark on the map. No signal are send to the simulation, the manipulation is only on the map.

Possible values = "true", "false"

<source>
 <Object 
   Name = "MarkPalette"     
   Visible = "false" 
   Pos = "0,0"     
   Size = "0,0" 
   Enabeled = "false" />
</source>


Mail

Panel for sending and recieve mail.

Property

Value

Visible

If the Mail panel should be visible.

Possible values = "true", "false"C3system-config-session-unit-mail-panel-2w125.gif

Pos

The position of the Mail panel.
The position of the upper left corner.

Value example = "10,410"

Size

The size of the Mail panel.

Value example = "230,180"

MailReceiveVisible

If the window object MailReceivePanel should be visible.


Possible values = "true", "false"

MailReceivePanelPos

MailReceivePanels upper left corners position.


Value example = "10,15"

MailReceivePanelSize

MailReceivePanels size.


Value example = "220,160"

MailReceiveShowTo


Possible values = "true", "false"

MailSendVisible

If the window object MailSendPanel should be visible.

Possible values = "true", "false"

MailSendPanelPos

MailSendPanels upper left corners position.

Value example = "10,180"

MailSendPanelSize

MailSendPanels size.

Value example = "350,150"

MailSendButtonType

Type of send button.

Possible values = "Buttons", "Textfield"

MailSendButtonsDisplayToAllButton


MailSendButtonsLayoutNrOfRows

The layout of the MailSendButtons.
The number of rows in the layout.

Value example = "1"

MailSendButtonsLayoutNrOfColums

The layout of the MailSendButtons.
The number of columns in the layout.


Value example = "4"

<source>
 <Object 
    Name = "Mail"
    Visible = "true"
    Pos = "10,410" 
    Size = "230,180"
    MailReceiveVisible = "true"
    MailReceivePanelPos = "10,15"
    MailReceivePanelSize = "220,160"
    MailReceiveShowTo = "false"
    MailSendVisible = "false"
    MailSendPanelPos = "10,180"
    MailSendPanelSize = "350,150" 
    MailSendButtonType = "Buttons"
    MailSendButtonsDisplayToAllButton = "true"
    MailSendButtonsLayoutNrOfRows = "1"
    MailSendButtonsLayoutNrOfColums = "0" />
</source>


Diary

Panel for keeping a diary.

Property

Value

Visible

If the Diary panel should be visible.

Possible values = "true", "false"C3system-config-session-unit-diary-panel-w125.gif

Pos

The position of the Diary panel.
The position of the upper left corner.

Value example = "800,10"

Size

The size of the Diary panel.

Value example = "370,340"

DiaryViewVisible

If the DiaryView panel should be visible.

Possible values = "true", "false"

DiaryViewPanelPos

The position of the DiaryView panel.
The position of the upper left corner.

Value example = "10, 15"

DiaryViewPanelSize

The size of the DiaryView panel.

Value example = "350,155"

DiaryEditVisible

If the DiaryEdit panel should be visible.

Possible values = "true", "false"

DiaryEditPanelPos

The position of the DiaryView panel.
The position of the upper left corner.

Value example = "10, 175"

DiaryEditPanelSize

The position of the DiaryEdit panel.
The position of the upper left corner.

Value example = "350, 150"

<source>
 <Object 
    Name = "Diary"
    Visible = "false"
    Pos = "800,10" 
    Size = "370,340"
    DiaryViewVisible = "false"
    DiaryViewPanelPos = "10,15"
    DiaryViewPanelSize = "350,155"
    DiaryEditVisible = "false"
    DiaryEditPanelPos = "10,175"
    DiaryEditPanelSize = "350,150"/>
</source>


MapLayerQuickSelect

A button panel for selecting Map Layer.

Property

Value

Visible

If the MapLayerQuickSelect panel should be visible.

Possible values = "true", "false"C3system-config-session-map-layers.gif

Pos

The position of the MapLayerQuickSelect panel.
The position of the upper left corner.

Value example = "1140,505"

Size

The size of the MapLayerQuickSelect panel.

Value example = "120,120"

ButtonGridLayout

The layout of the buttons in the panel

Values example = "0,1"

StartLayer

The name of the map layer that is exposed when the session is started.

Value example = "Green"

<source>
 <Object 
    Name = "MapLayerQuickSelect"
    Visible = "false"
    Pos = "1140,505" 
    Size = "120,120"
    ButtonGridLayout = "0,1" 
    StartLayer = "Green"/>
</source>


Create New Configuration

Copy an old configuration

Organisation

Copy the new roles and update

File name: xx-Global-Roles.coni

<Roles>
  <Role
      IDName = "A"
      LongName = "Chief"

      ControlUnits = "D13"

      MailSendTo = "B,C,E,G,H,I,K"
      MapDBTo = ""

Units

Copy the new Units and update
Update the numbers for the units images

File name: xx-Global-Units.coni

<Units>
  <Unit
      IDName = "F1"
      LongName = "Firefighter Unit 1"

      SendInfoTo = "C"

      ImageGoTo = "Unit\Number\White\1-White.gif"
      ImageGoToSelected = "Unit\Number\White\1-White-Selected.gif"
      ImagePos = "Unit\Number\Red\1-Red.gif"
      ImagePosSelected = "Unit\Number\Red\1-Red-Selected.gif"

UAVs

Copy the new UAV and update
Update the numbers for the UAV's images
Update who is controlling the UAV at start.

File name example: xx-Main-ss.con

<UAVs>

    <UAV
      IDName = "D15"
      ControllerActive = "A"

Map

Roles Map Scroll Positions

Add the new roles and Update all roles map scroll positions.

File name: xx-yy-RolesScrollPos.coni

  <RolesScrollPos>

    <Role
      IDName = "A"
      MapStartCenterScrollPos = "20,20"

Units Map Positions

Add the new units and update all units map positions.

File name: xx-yy-UnitsPos.coni

  <UnitsPos>

    <Unit
      IDName = "F1"
      Pos = "18,18" />

UAVs Map Positions

Add the new UAVs and update all UAVs map positions.

File name: xx-yy-UAVsPos.coni

  <UAVsPos>

    <UAV
      IDName = "D15"
      HomeBasePos = "20,20" />

UnitInfoDisplay

UnitInfoDisplay

UnitInfoDisplayOutline

Update unit information outline display. Update if Water or Fuel level should be visible.

File name: xx-Global-MainUI-zz.conii

    <UnitInfoDisplayOutline
      Name = "Ground Chief Info" >

      ...

      <UnitInfoDisplayOutlineCol
        Property = "WaterLevel"
        PropertyType = "String"
        width = "50" />

      <UnitInfoDisplayOutlineCol
        Property = "FuelLevel"
        PropertyType = "String"
        width = "50" />

    </UnitInfoDisplayOutline>