C3Fire Session Configuration

From C3LearningLabs

C3ll-head-under-construction-small.png

Session Configuration

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 a sessions classification 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. is helps the anlyser to sort all logfiles generated in the experiment. The information is not used during a session. It does not affect the simulation. It is optional to complete the different properties of SessionInfo. A property can be left without information.

The SessionInfo is defined with the following properties:


Property

Value

ExperimentGroup

Value example = "gl"

ExperimentName

Value example = "gl1"

ConditionNumber

Value example = "1"

ConditionName

Value example = "Digital"

ServerNumber

Value example = "0"

ServerName

Value example = ""

SessionType

Value example= ""

SessionNumber

Value example = "2"

SessionName

Value example = ""

SessionConfigFileName

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

SessionScenarioFileName

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

SessionPicDirectory

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

The xml element Roles defines all roles (Players) in a session.

<Roles>

 <Role> ... </Role>
 <Role> ... </Role>
 ...
 <Role> ... </Role>

</Roles>


The xml element Role defines a player in a session and contain a set of basic properties. Beside the basic properties the activated modules can add properties for the roles. See documentation for each module.

The role has the following basic properties:

Parameters

Description

IDName

Value example= "Blue"

Type

Value example = "Human"

ControlUnits

Value example= "CP"

ControlStations

Value example = ""

LongName

Value example= "Pilot-1"

MailSendTo

Value example= "Blue"

MapDB

Value example= "false"

MapDBTo

Value example= ""

MapStartCenterScrollPos

Value example= "25,25"

Points

Value example= "1.0"

RemeberFireOnMap

Value example= "False"

RemeberUnitPosOnMap

Value example= "false"

SeeAllFire

Value example= "True"

SeeAllMap

Value example= "True"

SeeAllObjects

Value example= "True"

UnitInfoDisplayOutline

Value example= "Ground Chief"

UserInterfaceLayout

Value example= "Blue" />

   <Role      
      IDName = "Blue"
      Type = "Human"
      ControlUnits = "CP"
      ControlStations = ""
      LongName = "Pilot-1"
      MailSendTo = "Blue"
      MapDB = "false"
      MapDBTo = ""
      MapStartCenterScrollPos = "25,25"
      Points = "1.0"
      RemeberFireOnMap = "False"
      RemeberUnitPosOnMap = "false"
      SeeAllFire = "False"
      SeeAllMap = "True"
      SeeAllObjects = "True"
      UnitInfoDisplayOutline = "Ground Chief"
      UserInterfaceLayout = "Blue" />

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

Value example= "F1"

LongName

Value example= "Firefighter Unit One"

Type

Value example = "FireFighter"

SendInfoTo

Value example= "X"

Pos

Value example= "9,8"

MailSendTo

Value example= "X"

WindowRadius

Value example= "2"

WindowRadiusView

Value example= "true"

WindowRadiusColor

Value example= "#303030"

MovingSpeed

Value example= "5"

FireFighterUnit

Value example= "true"

FireFighterMobilizeSpeed

Value example= "3"

FireFighterFightingSpeed

Value example= "4"

FireFighterDeMobilizeSpeed

Value example= "3"

FireBreakUnit

Value example= "true"

FireBreakCreateSpeed

Value example= "30"

FuelTankSize

Value example= "30"

FuelLevel

Value example= "10"

FuelLevelCountDownSpeed

Value example= "0.10"

FuelRefillSpeed

Value example= "5"

FuelTankUnit

Value example= "false"

WaterTankUnit

Value example= "false"

WaterTankSize

Value example= "300"

WaterLevel

Value example= "13"

WaterLevelCountDownSpeed

Value example= "5"

WaterRefillSpeed

Value example= "10"

CommandDelayTime

Value example= "0"

IntentionImageNrOfDistanceLevels

Value example= "5"

IntentionImageDistanceLevel2Time

Value example= "10"

IntentionImageDistanceLevel3Time

Value example= "15"

IntentionImageDistanceLevel4Time

Value example= "20"

IntentionImageDistanceLevel5Time

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>

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>


Objects

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

<source>
<Objects>
  <Object> ... </Object>
  <Object> ... </Object>
  ...
  <Object> ... </Object>
</Objects>
</source>


A object is defined with the following properties:

Property

Value

Type

Value example= "Pine"

Pos

Value example= "12,12"

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

Fire Fighting

The xml element FireFightingConfig defines the fire fighting properties.

The fire fighting is defined with the following properties:

Property

Value

WaterLogistic

Value example= "true"

WaterRefillOnPosType

Value example= "WaterRefillOnNESWPos"

FireBreak

Value example= "true"

FireFightingLocalAreaCoordinationType

Value example= "OnlyOneUnitAndTimeDelay"

FireFightingLocalAreaCoordinationDelayTime

Value example= "20" />

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

Map

The xml element MapConfig defines the map properties.

The map is defined with the following basic properties:

Property

Value

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

Value example= "Background-40x40.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

Value example= "#A0A0A0"

MatrixThinLineColor

Value example= "#B0C0C0"

MatrixUse

Value example= "true"

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>

Mail

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

ViewNextMailButtonAlwaysEnabled

Value example= "true"

ReceiveMailSound

Value example= "bottle-open.wav"

LineWrap

Value example= "true"

ReceiveAppend

Value example= "false"

UnReadMailBackgroundColor

Value example= "#F0D0D0" />


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

Diary

The xml element DiaryConfig defines the diary system properties.

The diary is defined with the following properties :

Property

Value

ReceiveMessageSound

Value example= "bottle-open.wav"

LineWrap

Value example= "true" />

<Source>
 <DiaryConfig     
  ReceiveMessageSound = "bottle-open.wav" 
  LineWrap = "true" />
</Source>

Unit Communication

Unit Movement

Map Layer

Fire

The xml element FireConfig defines the fire properties.

The fire is defined with the following properties :

Property

Value

WindFactor

Value example= "0.8"

IgniteTime

Value example= "20"

BurnOutTime

Value example= "40" />

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

Fire States

Mark Types

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.

<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

Value example= "F12"

Multiple

Value example= "false"

AutoRemove

Value example= "true"

AutoRemoveTime

Value example = "10"

Flash

Value example= "true"

CreateSound

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

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

Mark Send Rules

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

A mark send rule is defined with the following properties :

Property

Value

SenderRoleIDNames

Value example= "Y"

MarkIDNames

Value example= "F1,F2"

ReceiverRoleIDNames

Value example= "X" />

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

<source>
<DisplayObjects>
  <DisplayObject> ... </DisplayObject>
  <DisplayObject> ... </DisplayObject>
  ...
  <DisplayObject> ... </DisplayObject>
</DisplayObjects>
</source>

A DisplayObject is defined with the following properties:

Property

Value

Type

Value example= "Pine"

Pos

Value example= "12,12"


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

User Interface Layout

Unit Info Display