C3Fire

Difference between revisions of "Config/P4-F9L3R2Uav1-3x15min-To-P4-F8L2R2B1Uav1-3x15min"

From C3LearningLabs
 
(53 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
{{DISPLAYTITLE:Update P4-F9L3R2Uav1-3x15min To P4-F8L2R2B1Uav1-3x15min}}
 
{{DISPLAYTITLE:Update P4-F9L3R2Uav1-3x15min To P4-F8L2R2B1Uav1-3x15min}}
  
 +
 +
= Goal =
 +
In this example we will change the organization and units in an existing configuration.
 +
 +
;Start Configuration - P4-F9L3R2Uav1-3x15min
 +
 +
:P4 = 4 Players
 +
:F9 = 9 fire fighting units
 +
:L3 = 3 Logistics units
 +
:R2 = 2 Rescues service units
 +
:UAV1 = 1 Drone
 +
 +
;Goal Configuration - P4-F8L2R2B1Uav1
 +
:P4 = 4 Players (Change what units the players control)
 +
:F9 = 8 fire fighting units  (Remove 1 unit)
 +
:L3 = 2 Logistics units (Remove 1 unit)
 +
:R2 = 2 Rescues service units
 +
:B1 = 1 Fire break unit  (Create 1 new unit)
 +
:UAV1 = 1 Drone
 +
 +
;Changes
 +
:Players, change what units the players control.
 +
:Fire fighting units, remove 1 unit.
 +
:Logistics units, remove 1 unit.
 +
:Fire break unit, create 1 new unit.
  
 
= Create new configuration files =
 
= Create new configuration files =
  
 
;Copy Folder
 
;Copy Folder
 +
:Copy the selected configuration folder that contain the good configuration.
 
:Source    : ...\C3LearningLabs\C3Fire\Client\SessionDef\Projects\P4-F9L3R2Uav1-3x15min
 
:Source    : ...\C3LearningLabs\C3Fire\Client\SessionDef\Projects\P4-F9L3R2Uav1-3x15min
 
:New Folder: ...\C3LearningLabs\C3Fire\Client\SessionDef\Projects\P4-F8L2R2B1Uav1-3x15min
 
:New Folder: ...\C3LearningLabs\C3Fire\Client\SessionDef\Projects\P4-F8L2R2B1Uav1-3x15min
  
 
;Rename all files in folder
 
;Rename all files in folder
 +
:Rename all the files so it get the new good experiment name.
 
:P4-F9L3R2Uav1-3x15min => P4-F8L2R2B1Uav1-3x15min
 
:P4-F9L3R2Uav1-3x15min => P4-F8L2R2B1Uav1-3x15min
  
  
 
;Update file references in config files  
 
;Update file references in config files  
 +
:The main configuration files contains references to all files that build up the total configuration.
 +
:Update these files.
 
:...\SessionDef\Projects\P4-F8L2R2B1Uav1-3x15min\Condition-1\P4-F8L2R2B1Uav1-3x15min-C1.con
 
:...\SessionDef\Projects\P4-F8L2R2B1Uav1-3x15min\Condition-1\P4-F8L2R2B1Uav1-3x15min-C1.con
 
:...\SessionDef\Projects\P4-F8L2R2B1Uav1-3x15min\Condition-2\P4-F8L2R2B1Uav1-3x15min-C2.con
 
:...\SessionDef\Projects\P4-F8L2R2B1Uav1-3x15min\Condition-2\P4-F8L2R2B1Uav1-3x15min-C2.con
Line 19: Line 48:
 
:...\SessionDef\Projects\P4-F8L2R2B1Uav1-3x15min\Training-2\P4-F8L2R2B1Uav1-3x15min-T2.con
 
:...\SessionDef\Projects\P4-F8L2R2B1Uav1-3x15min\Training-2\P4-F8L2R2B1Uav1-3x15min-T2.con
  
:P4-F9L3R2Uav1-3x15min => P4-F8L2R2B1Uav1-3x15min
+
:In this example replace, P4-F9L3R2Uav1-3x15min => P4-F8L2R2B1Uav1-3x15min
 
<source>
 
<source>
 
<Config
 
<Config
Line 45: Line 74:
  
  
 +
;Update session info.
 +
:This is important
 +
:The session information is information that describes the experiment sessions.
 +
:The information will be stored in the logfiles, and can be used in the analyses process.
  
 +
:...\SessionDef\Projects\P4-F8L2R2B1Uav1-3x15min\Condition-1\P4-F8L2R2B1Uav1-3x15min-C1.con
 +
:...\SessionDef\Projects\P4-F8L2R2B1Uav1-3x15min\Condition-2\P4-F8L2R2B1Uav1-3x15min-C2.con
 +
:...\SessionDef\Projects\P4-F8L2R2B1Uav1-3x15min\Condition-3\P4-F8L2R2B1Uav1-3x15min-C3.con
 +
:...\SessionDef\Projects\P4-F8L2R2B1Uav1-3x15min\Training-1\P4-F8L2R2B1Uav1-3x15min-T1.con
 +
:...\SessionDef\Projects\P4-F8L2R2B1Uav1-3x15min\Training-2\P4-F8L2R2B1Uav1-3x15min-T2.con
  
== Set the default configuration ==
+
:Example
 +
<source>
 +
  <SessionInfo
 +
    ConditionName = "C1"
 +
    ConditionNumber = "1"
 +
    ExperimentGroup = ""
 +
    ExperimentName = "P4-F8L2R2B1Uav1-3x15min"
 +
    ServerName = ""
 +
    ServerNumber = "0"
 +
    SessionConfigFileName = "P4-F8L2R2B1Uav1-C3.con"
 +
    SessionName = ""
 +
    SessionNumber = ""
 +
    SessionPicDirectory = ""
 +
    SessionScenarioFileName = "P4-F8L2R2B1Uav1-C3.sce"
 +
    SessionType = "" />
 +
</source>
 +
 
 +
= Set the default configuration =
  
 
To make it easier to develop a new session configuration set the default configuration file in the Client configuration. Then you don't need to manually browse the configuration file every time you start a session.
 
To make it easier to develop a new session configuration set the default configuration file in the Client configuration. Then you don't need to manually browse the configuration file every time you start a session.
  
See '''[[C3Fire:Config/Client#DefaultFiles|Set default configuration]]'''
+
See '''[[Config/Client#DefaultFiles|Set default configuration]]'''
  
 
;Edit File
 
;Edit File
Line 72: Line 127:
 
</source>
 
</source>
  
 +
= Units =
  
 +
;Update the Units<br>
 +
:Edit file: ...\C3LearningLabs\C3Fire\Client\SessionDef\Projects\P4-F8L2R2B1Uav1-3x15min\P4-F8L2R2B1Uav1-3x15min-'''Global-Units.coni'''
  
== Units ==
+
:Updated so it is:
 
+
::P4 = 4 Players (Change what units the players control)
;Update the Units<br>
+
::F9 = 8 fire fighting units  (Remove 1 unit)
:Edit file: P4-F8L2R2B1Uav1-3x15min-Global-Units.coni
+
::L3 = 2 Logistics units (Remove 1 unit)
 +
::R2 = 2 Rescues service units
 +
::B1 = 1 Fire break unit  (Create 1 new unit)
 +
::UAV1 = 1 Drone
  
 +
:Did the following steps.
 
#Remove fire fighting unit 9
 
#Remove fire fighting unit 9
 
#Add fire break unit 9, copy from Demo\FireBreak\P1-F8B4, and set the unit number 9.
 
#Add fire break unit 9, copy from Demo\FireBreak\P1-F8B4, and set the unit number 9.
Line 88: Line 150:
  
 
;Renumber units
 
;Renumber units
:For every unit update.
+
:For every unit update, IDName, LongName, ControlDisplay, ImageGoTo, ImageGoToSelected, ImagePos, ImagePosSelected 
 +
:Remember to update the unit number in the image file names.
 +
 
 +
 
 
<source>
 
<source>
 
<Units>
 
<Units>
Line 94: Line 159:
 
     <Unit
 
     <Unit
 
       IDName = "D14"
 
       IDName = "D14"
 +
      ...
 +
      ControlDisplay = "..."
 
       ...
 
       ...
 
       ImageGoTo = "Unit\Number\White\14-White.gif"
 
       ImageGoTo = "Unit\Number\White\14-White.gif"
Line 105: Line 172:
  
 
;Set to what role the units will send info to
 
;Set to what role the units will send info to
 +
:In same configuration file, for every unit update who this unit should send information to.
 
<source>
 
<source>
 
<Units>
 
<Units>
Line 110: Line 178:
 
     <Unit
 
     <Unit
 
       IDName = "F1"
 
       IDName = "F1"
 +
      ...
 
       SendInfoTo = "B"
 
       SendInfoTo = "B"
  
 
     <Unit
 
     <Unit
 
       IDName = "F2"
 
       IDName = "F2"
 +
      ...
 
       SendInfoTo = "B"
 
       SendInfoTo = "B"
  
 
     <Unit
 
     <Unit
 
       IDName = "F3"
 
       IDName = "F3"
 +
      ...
 
       SendInfoTo = "B"
 
       SendInfoTo = "B"
  
 
     <Unit
 
     <Unit
 
       IDName = "F4"
 
       IDName = "F4"
 +
      ...
 
       SendInfoTo = "B"
 
       SendInfoTo = "B"
  
 
     <Unit
 
     <Unit
 
       IDName = "F5"
 
       IDName = "F5"
 +
      ...
 
       SendInfoTo = "C"
 
       SendInfoTo = "C"
  
 
     <Unit
 
     <Unit
 
       IDName = "F6"
 
       IDName = "F6"
 +
      ...
 
       SendInfoTo = "C"
 
       SendInfoTo = "C"
  
 
     <Unit
 
     <Unit
 
       IDName = "F7"
 
       IDName = "F7"
 +
      ...
 
       SendInfoTo = "C"
 
       SendInfoTo = "C"
  
 
     <Unit
 
     <Unit
 
       IDName = "F8"
 
       IDName = "F8"
 +
      ...
 
       SendInfoTo = "C"
 
       SendInfoTo = "C"
  
 
     <Unit
 
     <Unit
 
       IDName = "B9"
 
       IDName = "B9"
 +
      ...
 
       SendInfoTo = "D"
 
       SendInfoTo = "D"
  
 
     <Unit
 
     <Unit
 
       IDName = "L10"
 
       IDName = "L10"
 +
      ...
 
       SendInfoTo = "D"
 
       SendInfoTo = "D"
  
 
     <Unit
 
     <Unit
 
       IDName = "L11"
 
       IDName = "L11"
 +
      ...
 
       SendInfoTo = "D"
 
       SendInfoTo = "D"
  
 
     <Unit
 
     <Unit
 
       IDName = "R12"
 
       IDName = "R12"
 +
      ...
 
       SendInfoTo = "B"
 
       SendInfoTo = "B"
  
 
     <Unit
 
     <Unit
 
       IDName = "R13"
 
       IDName = "R13"
 +
      ...
 
       SendInfoTo = "C"
 
       SendInfoTo = "C"
  
 
     <Unit
 
     <Unit
 
       IDName = "D14"
 
       IDName = "D14"
 +
      ...
 
       SendInfoTo = "A"
 
       SendInfoTo = "A"
 
...
 
...
 
</source>
 
</source>
  
== Organisation ==
+
= UAVs =
  
;Create new role
+
;Update what role are controlling the UAV. It is defined in the <UAVs>...<UAVs> element, in the main configuration files.
:Edit file: P2-F4UAV-Roles.coni
 
  
#Add new role
+
:Edit main config files
#Set the units the role control, For all roles - ControlUnits = "..."
+
:...\SessionDef\Projects\P4-F8L2R2B1Uav1-3x15min\Condition-1\P4-F8L2R2B1Uav1-3x15min-C1.con
#Set name - LongName = "..."
+
:...\SessionDef\Projects\P4-F8L2R2B1Uav1-3x15min\Condition-2\P4-F8L2R2B1Uav1-3x15min-C2.con
 +
:...\SessionDef\Projects\P4-F8L2R2B1Uav1-3x15min\Condition-3\P4-F8L2R2B1Uav1-3x15min-C3.con
 +
:...\SessionDef\Projects\P4-F8L2R2B1Uav1-3x15min\Training-1\P4-F8L2R2B1Uav1-3x15min-T1.con
 +
:...\SessionDef\Projects\P4-F8L2R2B1Uav1-3x15min\Training-2\P4-F8L2R2B1Uav1-3x15min-T2.con
 +
 
 +
#Set IDName
 +
#Set controller - ControllerActive = "A"
 
<br>
 
<br>
  
 
<source>
 
<source>
<Roles>
+
<UAVs>
     <Role
+
     <UAV
       IDName = "X"
+
       IDName = "D14"
       Type = "Human"
+
       ControllerActive = "A"
      ControlUnits = "F1,F2,F3,F4"
 
      ControlStations = ""
 
      LongName = "Ground Chief X"
 
      MailSendTo = ""
 
      MapDB = "false"
 
      MapDBTo = ""
 
      Points = "0.0"
 
      RemeberFireOnMap = "false"
 
      RemeberUnitPosOnMap = "false"
 
      SeeAllFire = "false"
 
      SeeAllMap = "True"
 
      SeeAllObjects = "True"
 
      UnitInfoDisplayOutline = "Ground Chief"
 
      UserInterfaceLayout = "Ground Chief" />
 
 
 
    <Role
 
      IDName = "Y"
 
      Type = "Human"
 
      ControlUnits = "UAV5"
 
      ControlStations = ""
 
      LongName = "Ground Chief Y"
 
      MailSendTo = ""
 
      MapDB = "false"
 
      MapDBTo = ""
 
      Points = "0.0"
 
      RemeberFireOnMap = "false"
 
      RemeberUnitPosOnMap = "false"
 
      SeeAllFire = "false"
 
      SeeAllMap = "True"
 
      SeeAllObjects = "True"
 
      UnitInfoDisplayOutline = "Ground Chief"
 
      UserInterfaceLayout = "Ground Chief" />
 
 
</source>
 
</source>
  
 +
= Organisation =
  
 +
:Update to roles (Players), set what unit they are controlling and who can send mail to who.
 +
:Remember you can use mail groups, see '''[[Config/Config_Mail#Mail_Config|Mail Config]]'''
 +
:Edit file: ...\C3LearningLabs\C3Fire\Client\SessionDef\Projects\P4-F8L2R2B1Uav1-3x15min\P4-F8L2R2B1Uav1-3x15min-'''Global-Roles.coni'''
  
== Units ==
+
#Set id name - IDName  = "..."
 
+
#Set the units the role control, For all roles - ControlUnits = "..."
;Update the Units<br>
+
#Set name - LongName = "..."
:Edit file: P2-F4UAV-Units.coni
+
#Set mail - MailSendTo = "..."
 
 
#Set to what role the units will send info to
 
 
<br>
 
<br>
  
 
<source>
 
<source>
<Units>
+
<Roles>
...
+
     <Role
     <Unit
+
       IDName = "A"
       IDName = "UAV5"
+
       ControlUnits = "D14"
       Type = "UAV"
+
       LongName = "Ground Chief A"
       SendInfoTo = "Y"
+
      MailSendTo = "B,C,D"/>
...
 
</source>
 
  
=== UAVs ===
+
    <Role
 +
      IDName = "B"
 +
      ControlUnits = "F1,F2,F3,F4,R12"
 +
      LongName = "Ground Chief B"
 +
      MailSendTo = "A,C,D" />
  
;Update what role are controlling the UAV.
+
    <Role
 +
      IDName = "C"
 +
      ControlUnits = "F4,F5,F6,F7,R13"
 +
      LongName = "Ground Chief C"
 +
      MailSendTo = "A,B,D" />
  
:Edit file: P2-F4UAV.con
+
    <Role
 
+
      IDName = "D"
#Set controller -  ControllerActive = "Y"
+
      ControlUnits = "B9,L10,L11"
<br>
+
       LongName = "Ground Chief D"
 
+
       MailSendTo = "A,B,C" />
<source>
 
<UAVs>
 
    <UAV
 
       IDName = "UAV5"
 
       ControllerActive = "Y"
 
 
</source>
 
</source>
  
 +
= Map =
  
 +
== Roles Map Scroll Positions ==
 +
:Update all roles map scroll positions.
 +
:Usually you don't need to update this, but if you are using larger maps you need to do it.
  
== Map ==
+
Edit file:
 +
*.../Condition-1/P4-F8L2R2B1Uav1-3x15min-C1-RolesScrollPos.coni
 +
*.../Condition-2/P4-F8L2R2B1Uav1-3x15min-C2-RolesScrollPos.coni
 +
*.../Condition-3/P4-F8L2R2B1Uav1-3x15min-C3-RolesScrollPos.coni
 +
*.../Training-1/P4-F8L2R2B1Uav1-3x15min-T1-RolesScrollPos.coni
 +
*.../Training-2/P4-F8L2R2B1Uav1-3x15min-T2-RolesScrollPos.coni
  
=== Roles Map Scroll Positions ===
 
;Add the new roles and Update all roles map scroll positions.
 
 
Edit file: xx-yy-RolesScrollPos.coni
 
 
#Add new role
 
 
<br>
 
<br>
  
Line 267: Line 328:
  
 
     <Role
 
     <Role
       IDName = "X"
+
       IDName = "A"
 +
      MapStartCenterScrollPos = "20,20" />
 +
 
 +
    <Role
 +
      IDName = "B"
 
       MapStartCenterScrollPos = "20,20" />
 
       MapStartCenterScrollPos = "20,20" />
  
 
     <Role
 
     <Role
       IDName = "Y"
+
       IDName = "C"
 +
      MapStartCenterScrollPos = "20,20" />
 +
 
 +
    <Role
 +
      IDName = "D"
 
       MapStartCenterScrollPos = "20,20" />
 
       MapStartCenterScrollPos = "20,20" />
 
</source>
 
</source>
  
 +
== Units Map Positions ==
 +
:Update all Units map positions.
 +
:Add, remove units and set position.
 +
Edit file:
 +
*.../Condition-1/P4-F8L2R2B1Uav1-3x15min-C1-UnitsPos.coni
 +
*.../Condition-2/P4-F8L2R2B1Uav1-3x15min-C2-UnitsPos.coni
 +
*.../Condition-3/P4-F8L2R2B1Uav1-3x15min-C3-UnitsPos.coni
 +
*.../Training-1/P4-F8L2R2B1Uav1-3x15min-T1-UnitsPos.coni
 +
*.../Training-2/P4-F8L2R2B1Uav1-3x15min-T2-UnitsPos.coni
  
 +
#Update F9 to B9
 +
#Update L12 to R12
 +
#Delete R14
 +
#Update D15 to D14
  
 +
Example
 +
<source>
 +
    <Unit
 +
      IDName = "B9"
 +
      Pos = "23,22" />
  
 +
    <Unit
 +
      IDName = "D14"
 +
      Pos = "20,21" />
 +
</source>
  
 +
== UAVs Map Positions ==
 +
Update all UAVs map positions.
 +
:Add, remove units and set position.
  
 +
Edit file:
 +
*.../Condition-1/P4-F8L2R2B1Uav1-3x15min-C1-UAVsPos.coni
 +
*.../Condition-2/P4-F8L2R2B1Uav1-3x15min-C2-UAVsPos.coni
 +
*.../Condition-3/P4-F8L2R2B1Uav1-3x15min-C3-UAVsPos.coni
 +
*.../Training-1/P4-F8L2R2B1Uav1-3x15min-T1-UAVsPos.coni
 +
*.../Training-2/P4-F8L2R2B1Uav1-3x15min-T2-UAVsPos.coni
  
=== UAVs Map Positions ===
+
= UnitInfoDisplay =
Add the new UAVs and update all UAVs map positions.
 
  
No update needed.
+
== UnitInfoDisplayOutline ==
 +
;Update unit information outline display.
  
=== UAVs Map Positions ===
+
Edit file : P4-F8L2R2B1Uav1-3x15min-Global-UnitsInfoUI.coni
Add the new UAVs and update all UAVs map positions.
 
  
No update needed.
+
:For A, B, C, D and Manger, update what units that should be visible in the Unit info panels.
 +
 
 +
:Update all.
 +
::<UnitInfoDisplayOutlineRow
 +
:::UnitIDName = "..."
 +
:::UnitInfoDisplayDetail = "..." />
 +
<br>
 +
 
 +
<source>
 +
 
 +
  <UnitInfoDisplayOutline
 +
      Name = "Ground Chief A" >
 +
      ...
 +
      <UnitInfoDisplayOutlineRow
 +
        UnitIDName = "D14"
 +
        UnitInfoDisplayDetail = "UAV" />
 +
     
 +
  </UnitInfoDisplayOutline>
  
 +
  <UnitInfoDisplayOutline
 +
      Name = "Ground Chief B" >
 +
      ...
 +
      <UnitInfoDisplayOutlineRow
 +
        UnitIDName = "F1"
 +
        UnitInfoDisplayDetail = "FireFighter" />
  
 +
      <UnitInfoDisplayOutlineRow
 +
        UnitIDName = "F2"
 +
        UnitInfoDisplayDetail = "FireFighter" />
  
 +
      <UnitInfoDisplayOutlineRow
 +
        UnitIDName = "F3"
 +
        UnitInfoDisplayDetail = "FireFighter" />
  
 +
      <UnitInfoDisplayOutlineRow
 +
        UnitIDName = "F4"
 +
        UnitInfoDisplayDetail = "FireFighter" />
  
 +
      <UnitInfoDisplayOutlineRow
 +
        UnitIDName = "R12"
 +
        UnitInfoDisplayDetail = "PersonTransporter" />
  
 +
  </UnitInfoDisplayOutline>
  
== UnitInfoDisplay ==
+
  <UnitInfoDisplayOutline
 +
      Name = "Ground Chief C" >
 +
      ...
 +
      <UnitInfoDisplayOutlineRow
 +
        UnitIDName = "F5"
 +
        UnitInfoDisplayDetail = "FireFighter" />
  
=== UnitInfoDisplayOutline ===
+
      <UnitInfoDisplayOutlineRow
;Update unit information outline display.
+
        UnitIDName = "F6"
 +
        UnitInfoDisplayDetail = "FireFighter" />
  
Edit file : P2-F4UAV-UnitsInfoUI.coni
+
      <UnitInfoDisplayOutlineRow
 +
        UnitIDName = "F7"
 +
        UnitInfoDisplayDetail = "WaterTruck" />
  
:1. Copy <UnitInfoDisplayOutline Name = "Ground Chief" >
+
      <UnitInfoDisplayOutlineRow
::To: <UnitInfoDisplayOutline Name = "Ground Chief X" >
+
        UnitIDName = "F8"
::and
+
        UnitInfoDisplayDetail = "WaterTruck" />
::To: <UnitInfoDisplayOutline Name = "Ground Chief Y" >
 
  
:2. Set what units that should be displayed for each role
+
      <UnitInfoDisplayOutlineRow
:: Delete "UAV5" for role X
+
        UnitIDName = "R13"
:: Delete "F1,F2,F3,F3" for role Y
+
        UnitInfoDisplayDetail = "PersonTransporter" />
<br>
 
  
<source>
+
    </UnitInfoDisplayOutline>
    <UnitInfoDisplayOutline
 
      Name = "Ground Chief X" >
 
  
      <UnitInfoDisplayOutlineCol
+
    <UnitInfoDisplayOutline
        Property = "IDName"
+
      Name = "Ground Chief D" >
         PropertyType = "String"
+
      ...
         width = "40" />
+
 
 +
      <UnitInfoDisplayOutlineRow
 +
         UnitIDName = "B9"
 +
         UnitInfoDisplayDetail = "FireBreak" />
  
       <UnitInfoDisplayOutlineCol
+
       <UnitInfoDisplayOutlineRow
         Property = "Pos"
+
         UnitIDName = "L10"
         PropertyType = "String"
+
         UnitInfoDisplayDetail = "WaterTruck" />
        width = "50" />
 
  
       <UnitInfoDisplayOutlineCol
+
       <UnitInfoDisplayOutlineRow
         Property = "Intention"
+
         UnitIDName = "L11"
         PropertyType = "String"
+
         UnitInfoDisplayDetail = "WaterTruck" />
        width = "50" />
 
  
      <UnitInfoDisplayOutlineCol
+
    </UnitInfoDisplayOutline>
        Property = "Activity"
 
        PropertyType = "String"
 
        width = "70" />
 
  
 +
  <UnitInfoDisplayOutline
 +
      Name = "Manager" >
 +
      ...
 
       <UnitInfoDisplayOutlineRow
 
       <UnitInfoDisplayOutlineRow
 
         UnitIDName = "F1"
 
         UnitIDName = "F1"
Line 354: Line 494:
 
         UnitInfoDisplayDetail = "FireFighter" />
 
         UnitInfoDisplayDetail = "FireFighter" />
  
 +
      <UnitInfoDisplayOutlineRow
 +
        UnitIDName = "F5"
 +
        UnitInfoDisplayDetail = "FireFighter" />
 +
 +
      <UnitInfoDisplayOutlineRow
 +
        UnitIDName = "F6"
 +
        UnitInfoDisplayDetail = "FireFighter" />
  
    </UnitInfoDisplayOutline>
+
      <UnitInfoDisplayOutlineRow
 +
        UnitIDName = "F7"
 +
        UnitInfoDisplayDetail = "FireFighter" />
 +
 
 +
      <UnitInfoDisplayOutlineRow
 +
        UnitIDName = "F8"
 +
        UnitInfoDisplayDetail = "FireFighter" />
  
    <UnitInfoDisplayOutline
+
      <UnitInfoDisplayOutlineRow
      Name = "Ground Chief Y" >
+
        UnitIDName = "B9"
 +
        UnitInfoDisplayDetail = "FireBreak" />
  
       <UnitInfoDisplayOutlineCol
+
       <UnitInfoDisplayOutlineRow
         Property = "IDName"
+
         UnitIDName = "L10"
         PropertyType = "String"
+
         UnitInfoDisplayDetail = "WaterTruck" />
        width = "40" />
 
  
       <UnitInfoDisplayOutlineCol
+
       <UnitInfoDisplayOutlineRow
         Property = "Pos"
+
         UnitIDName = "L11"
         PropertyType = "String"
+
         UnitInfoDisplayDetail = "WaterTruck" />
        width = "50" />
 
  
       <UnitInfoDisplayOutlineCol
+
       <UnitInfoDisplayOutlineRow
         Property = "Intention"
+
         UnitIDName = "R12"
         PropertyType = "String"
+
         UnitInfoDisplayDetail = "PersonTransporter" />
        width = "50" />
 
  
       <UnitInfoDisplayOutlineCol
+
       <UnitInfoDisplayOutlineRow
         Property = "Activity"
+
         UnitIDName = "R13"
         PropertyType = "String"
+
         UnitInfoDisplayDetail = "PersonTransporter" />
        width = "70" />
 
  
 
       <UnitInfoDisplayOutlineRow
 
       <UnitInfoDisplayOutlineRow
         UnitIDName = "UAV5"
+
         UnitIDName = "D14"
 
         UnitInfoDisplayDetail = "UAV" />
 
         UnitInfoDisplayDetail = "UAV" />
 
    </UnitInfoDisplayOutline>
 
  
 
     </UnitInfoDisplayOutline>
 
     </UnitInfoDisplayOutline>
 
</source>
 
</source>
  
=== Update Role info ===
+
== Update Role info ==
 
;Update what unit information outline display each role should display
 
;Update what unit information outline display each role should display
  
:Edit file: P2-F4UAV-Roles.coni
+
:Edit file: P4-F8L2R2B1Uav1-3x15min-Global-Roles.coni
  
 
#Update information outline display name for each role - UnitInfoDisplayOutline = "..."
 
#Update information outline display name for each role - UnitInfoDisplayOutline = "..."
Line 398: Line 546:
  
 
<source>
 
<source>
 +
  <Role
 +
    IDName = "A"
 +
    ...
 +
    UnitInfoDisplayOutline = "Ground Chief A"
 +
   
 
     <Role
 
     <Role
       IDName = "X"
+
       IDName = "B"
 
       ...
 
       ...
       UnitInfoDisplayOutline = "Ground Chief X"
+
       UnitInfoDisplayOutline = "Ground Chief B"
 +
 
 +
    <Role
 +
      IDName = "C"
 +
      ...
 +
      UnitInfoDisplayOutline = "Ground Chief C"
 
      
 
      
 
 
     <Role
 
     <Role
       IDName = "Y"
+
       IDName = "D"
 
       ...
 
       ...
       UnitInfoDisplayOutline = "Ground Chief Y"
+
       UnitInfoDisplayOutline = "Ground Chief D"
 
   
 
   
 
</source>
 
</source>

Latest revision as of 10:14, 30 September 2023


Goal

In this example we will change the organization and units in an existing configuration.

Start Configuration - P4-F9L3R2Uav1-3x15min
P4 = 4 Players
F9 = 9 fire fighting units
L3 = 3 Logistics units
R2 = 2 Rescues service units
UAV1 = 1 Drone
Goal Configuration - P4-F8L2R2B1Uav1
P4 = 4 Players (Change what units the players control)
F9 = 8 fire fighting units (Remove 1 unit)
L3 = 2 Logistics units (Remove 1 unit)
R2 = 2 Rescues service units
B1 = 1 Fire break unit (Create 1 new unit)
UAV1 = 1 Drone
Changes
Players, change what units the players control.
Fire fighting units, remove 1 unit.
Logistics units, remove 1 unit.
Fire break unit, create 1 new unit.

Create new configuration files

Copy Folder
Copy the selected configuration folder that contain the good configuration.
Source : ...\C3LearningLabs\C3Fire\Client\SessionDef\Projects\P4-F9L3R2Uav1-3x15min
New Folder: ...\C3LearningLabs\C3Fire\Client\SessionDef\Projects\P4-F8L2R2B1Uav1-3x15min
Rename all files in folder
Rename all the files so it get the new good experiment name.
P4-F9L3R2Uav1-3x15min => P4-F8L2R2B1Uav1-3x15min


Update file references in config files
The main configuration files contains references to all files that build up the total configuration.
Update these files.
...\SessionDef\Projects\P4-F8L2R2B1Uav1-3x15min\Condition-1\P4-F8L2R2B1Uav1-3x15min-C1.con
...\SessionDef\Projects\P4-F8L2R2B1Uav1-3x15min\Condition-2\P4-F8L2R2B1Uav1-3x15min-C2.con
...\SessionDef\Projects\P4-F8L2R2B1Uav1-3x15min\Condition-3\P4-F8L2R2B1Uav1-3x15min-C3.con
...\SessionDef\Projects\P4-F8L2R2B1Uav1-3x15min\Training-1\P4-F8L2R2B1Uav1-3x15min-T1.con
...\SessionDef\Projects\P4-F8L2R2B1Uav1-3x15min\Training-2\P4-F8L2R2B1Uav1-3x15min-T2.con
In this example replace, P4-F9L3R2Uav1-3x15min => P4-F8L2R2B1Uav1-3x15min
<Config
  Type = "ForestFire"
  ConfigIncludeFile_ComunicationUI = ""
  ConfigIncludeFile_ComunicationUIEvents = ""
  ConfigIncludeFile_MapObjectTypes = "../P4-F8L2R2B1Uav1-3x15min-Global-ObjectsTypes.coni"
  ConfigIncludeFile_MapObjectsPos = "P4-F8L2R2B1Uav1-3x15min-C1-MapObjectsPos.coni"
  ConfigIncludeFile_People = "../P4-F8L2R2B1Uav1-3x15min-Global-People.coni"
  ConfigIncludeFile_PeoplePos = "P4-F8L2R2B1Uav1-3x15min-C1-PeoplePos.coni"
  ConfigIncludeFile_Roles = "../P4-F8L2R2B1Uav1-3x15min-Global-Roles.coni"
  ConfigIncludeFile_RolesScrollPos = "P4-F8L2R2B1Uav1-3x15min-C1-RolesScrollPos.coni"
  ConfigIncludeFile_StationActivityControlsUI = ""
  ConfigIncludeFile_Stations = ""
  ConfigIncludeFile_UAVsPos = "P4-F8L2R2B1Uav1-3x15min-C1-UAVsPos.coni"
  ConfigIncludeFile_UnitInfoUI = "../P4-F8L2R2B1Uav1-3x15min-Global-UnitsInfoUI.coni"
  ConfigIncludeFile_Units = "../P4-F8L2R2B1Uav1-3x15min-Global-Units.coni"
  ConfigIncludeFile_UnitsPos = "P4-F8L2R2B1Uav1-3x15min-C1-UnitsPos.coni"
  ConfigIncludeFile_UserInterface = "../P4-F8L2R2B1Uav1-3x15min-Global-UIMain.coni"
  ConfigIncludeFile_UserInterfaceGlobal = "../P4-F8L2R2B1Uav1-3x15min-Global-UIGlobal.coni"
  ConfigIncludeFile_VehicleActivityControlsUI = ""
  ConfigIncludeFile_Vehicles = ""
  Version = "4.0.1" >


Update session info.
This is important
The session information is information that describes the experiment sessions.
The information will be stored in the logfiles, and can be used in the analyses process.
...\SessionDef\Projects\P4-F8L2R2B1Uav1-3x15min\Condition-1\P4-F8L2R2B1Uav1-3x15min-C1.con
...\SessionDef\Projects\P4-F8L2R2B1Uav1-3x15min\Condition-2\P4-F8L2R2B1Uav1-3x15min-C2.con
...\SessionDef\Projects\P4-F8L2R2B1Uav1-3x15min\Condition-3\P4-F8L2R2B1Uav1-3x15min-C3.con
...\SessionDef\Projects\P4-F8L2R2B1Uav1-3x15min\Training-1\P4-F8L2R2B1Uav1-3x15min-T1.con
...\SessionDef\Projects\P4-F8L2R2B1Uav1-3x15min\Training-2\P4-F8L2R2B1Uav1-3x15min-T2.con
Example
  <SessionInfo
    ConditionName = "C1"
    ConditionNumber = "1"
    ExperimentGroup = ""
    ExperimentName = "P4-F8L2R2B1Uav1-3x15min"
    ServerName = ""
    ServerNumber = "0"
    SessionConfigFileName = "P4-F8L2R2B1Uav1-C3.con"
    SessionName = ""
    SessionNumber = ""
    SessionPicDirectory = ""
    SessionScenarioFileName = "P4-F8L2R2B1Uav1-C3.sce"
    SessionType = "" />

Set the default configuration

To make it easier to develop a new session configuration set the default configuration file in the Client configuration. Then you don't need to manually browse the configuration file every time you start a session.

See Set default configuration

Edit File
...\C3LearningLabs\C3Fire\Client\Files\ROOT\C3FireClientConfig.xml

Set the folder for the new configuration and the config and scenario file name.

...
 <DefaultFiles
  SessionConfigDirectory  = "SessionDef/Projects/P4-F8L2R2B1Uav1-3x15min/Condition-1"
  SessionLogDirectory     = "../../../Server/SessionLogs"
  ScenarioDirectory       = "SessionDef/Projects/P4-F8L2R2B1Uav1-3x15min/Condition-1"
  MapImageDirectory       = "SessionDef/Projects/P4-F8L2R2B1Uav1-3x15min/Condition-1"
  SequenceConfigDirectory = ""
  SessionConfigFile       = "P4-F8L2R2B1Uav1-3x15min-C1-F80.con"
  ScenarioFile            = "P4-F8L2R2B1Uav1-3x15min-C1.sce"
  MapImageFile            = ""
  SequenceConfigFile      = "" />
...

Units

Update the Units
Edit file: ...\C3LearningLabs\C3Fire\Client\SessionDef\Projects\P4-F8L2R2B1Uav1-3x15min\P4-F8L2R2B1Uav1-3x15min-Global-Units.coni
Updated so it is:
P4 = 4 Players (Change what units the players control)
F9 = 8 fire fighting units (Remove 1 unit)
L3 = 2 Logistics units (Remove 1 unit)
R2 = 2 Rescues service units
B1 = 1 Fire break unit (Create 1 new unit)
UAV1 = 1 Drone
Did the following steps.
  1. Remove fire fighting unit 9
  2. Add fire break unit 9, copy from Demo\FireBreak\P1-F8B4, and set the unit number 9.
  3. Remove logistics unit 12
  4. Renumber Rescue Unit to 12 and 13
  5. Remove Rescue Unit 14
  6. Set to what role the units will send info to


Renumber units
For every unit update, IDName, LongName, ControlDisplay, ImageGoTo, ImageGoToSelected, ImagePos, ImagePosSelected
Remember to update the unit number in the image file names.


<Units>
...
    <Unit
      IDName = "D14"
      ...
      ControlDisplay = "..."
      ...
      ImageGoTo = "Unit\Number\White\14-White.gif"
      ImageGoToSelected = "Unit\Number\White\14-White-Selected.gif"
      ImagePos = "Unit\Number\Gray\14-Gray.gif"
      ImagePosSelected = "Unit\Number\Gray\14-Gray-Selected.gif"
      ...
      LongName = "Unmanned Aircraft Vehicle 14"
...
Set to what role the units will send info to
In same configuration file, for every unit update who this unit should send information to.
<Units>
...
    <Unit
      IDName = "F1"
      ...
      SendInfoTo = "B"

    <Unit
      IDName = "F2"
      ...
      SendInfoTo = "B"

    <Unit
      IDName = "F3"
      ...
      SendInfoTo = "B"

    <Unit
      IDName = "F4"
      ...
      SendInfoTo = "B"

    <Unit
      IDName = "F5"
      ...
      SendInfoTo = "C"

    <Unit
      IDName = "F6"
      ...
      SendInfoTo = "C"

    <Unit
      IDName = "F7"
      ...
      SendInfoTo = "C"

    <Unit
      IDName = "F8"
      ...
      SendInfoTo = "C"

    <Unit
      IDName = "B9"
      ...
      SendInfoTo = "D"

    <Unit
      IDName = "L10"
      ...
      SendInfoTo = "D"

    <Unit
      IDName = "L11"
      ...
      SendInfoTo = "D"

    <Unit
      IDName = "R12"
      ...
      SendInfoTo = "B"

    <Unit
      IDName = "R13"
      ...
      SendInfoTo = "C"

    <Unit
      IDName = "D14"
      ...
      SendInfoTo = "A"
...

UAVs

Update what role are controlling the UAV. It is defined in the <UAVs>...<UAVs> element, in the main configuration files.
Edit main config files
...\SessionDef\Projects\P4-F8L2R2B1Uav1-3x15min\Condition-1\P4-F8L2R2B1Uav1-3x15min-C1.con
...\SessionDef\Projects\P4-F8L2R2B1Uav1-3x15min\Condition-2\P4-F8L2R2B1Uav1-3x15min-C2.con
...\SessionDef\Projects\P4-F8L2R2B1Uav1-3x15min\Condition-3\P4-F8L2R2B1Uav1-3x15min-C3.con
...\SessionDef\Projects\P4-F8L2R2B1Uav1-3x15min\Training-1\P4-F8L2R2B1Uav1-3x15min-T1.con
...\SessionDef\Projects\P4-F8L2R2B1Uav1-3x15min\Training-2\P4-F8L2R2B1Uav1-3x15min-T2.con
  1. Set IDName
  2. Set controller - ControllerActive = "A"


<UAVs>
    <UAV
      IDName = "D14"
      ControllerActive = "A"

Organisation

Update to roles (Players), set what unit they are controlling and who can send mail to who.
Remember you can use mail groups, see Mail Config
Edit file: ...\C3LearningLabs\C3Fire\Client\SessionDef\Projects\P4-F8L2R2B1Uav1-3x15min\P4-F8L2R2B1Uav1-3x15min-Global-Roles.coni
  1. Set id name - IDName = "..."
  2. Set the units the role control, For all roles - ControlUnits = "..."
  3. Set name - LongName = "..."
  4. Set mail - MailSendTo = "..."


<Roles>
    <Role
      IDName = "A"
      ControlUnits = "D14"
      LongName = "Ground Chief A"
      MailSendTo = "B,C,D"/>

    <Role
      IDName = "B"
      ControlUnits = "F1,F2,F3,F4,R12"
      LongName = "Ground Chief B"
      MailSendTo = "A,C,D" />

    <Role
      IDName = "C"
      ControlUnits = "F4,F5,F6,F7,R13"
      LongName = "Ground Chief C"
      MailSendTo = "A,B,D" />

    <Role
      IDName = "D"
      ControlUnits = "B9,L10,L11"
      LongName = "Ground Chief D"
      MailSendTo = "A,B,C" />

Map

Roles Map Scroll Positions

Update all roles map scroll positions.
Usually you don't need to update this, but if you are using larger maps you need to do it.

Edit file:

  • .../Condition-1/P4-F8L2R2B1Uav1-3x15min-C1-RolesScrollPos.coni
  • .../Condition-2/P4-F8L2R2B1Uav1-3x15min-C2-RolesScrollPos.coni
  • .../Condition-3/P4-F8L2R2B1Uav1-3x15min-C3-RolesScrollPos.coni
  • .../Training-1/P4-F8L2R2B1Uav1-3x15min-T1-RolesScrollPos.coni
  • .../Training-2/P4-F8L2R2B1Uav1-3x15min-T2-RolesScrollPos.coni


  <RolesScrollPos>

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

    <Role
      IDName = "B"
      MapStartCenterScrollPos = "20,20" />

    <Role
      IDName = "C"
      MapStartCenterScrollPos = "20,20" />

    <Role
      IDName = "D"
      MapStartCenterScrollPos = "20,20" />

Units Map Positions

Update all Units map positions.
Add, remove units and set position.

Edit file:

  • .../Condition-1/P4-F8L2R2B1Uav1-3x15min-C1-UnitsPos.coni
  • .../Condition-2/P4-F8L2R2B1Uav1-3x15min-C2-UnitsPos.coni
  • .../Condition-3/P4-F8L2R2B1Uav1-3x15min-C3-UnitsPos.coni
  • .../Training-1/P4-F8L2R2B1Uav1-3x15min-T1-UnitsPos.coni
  • .../Training-2/P4-F8L2R2B1Uav1-3x15min-T2-UnitsPos.coni
  1. Update F9 to B9
  2. Update L12 to R12
  3. Delete R14
  4. Update D15 to D14

Example

    <Unit
      IDName = "B9"
      Pos = "23,22" />

    <Unit
      IDName = "D14"
      Pos = "20,21" />

UAVs Map Positions

Update all UAVs map positions.

Add, remove units and set position.

Edit file:

  • .../Condition-1/P4-F8L2R2B1Uav1-3x15min-C1-UAVsPos.coni
  • .../Condition-2/P4-F8L2R2B1Uav1-3x15min-C2-UAVsPos.coni
  • .../Condition-3/P4-F8L2R2B1Uav1-3x15min-C3-UAVsPos.coni
  • .../Training-1/P4-F8L2R2B1Uav1-3x15min-T1-UAVsPos.coni
  • .../Training-2/P4-F8L2R2B1Uav1-3x15min-T2-UAVsPos.coni

UnitInfoDisplay

UnitInfoDisplayOutline

Update unit information outline display.

Edit file : P4-F8L2R2B1Uav1-3x15min-Global-UnitsInfoUI.coni

For A, B, C, D and Manger, update what units that should be visible in the Unit info panels.
Update all.
<UnitInfoDisplayOutlineRow
UnitIDName = "..."
UnitInfoDisplayDetail = "..." />


  <UnitInfoDisplayOutline
      Name = "Ground Chief A" >
      ...
      <UnitInfoDisplayOutlineRow
        UnitIDName = "D14"
        UnitInfoDisplayDetail = "UAV" />
      
  </UnitInfoDisplayOutline>

  <UnitInfoDisplayOutline
      Name = "Ground Chief B" >
      ...
      <UnitInfoDisplayOutlineRow
        UnitIDName = "F1"
        UnitInfoDisplayDetail = "FireFighter" />

      <UnitInfoDisplayOutlineRow
        UnitIDName = "F2"
        UnitInfoDisplayDetail = "FireFighter" />

      <UnitInfoDisplayOutlineRow
        UnitIDName = "F3"
        UnitInfoDisplayDetail = "FireFighter" />

      <UnitInfoDisplayOutlineRow
        UnitIDName = "F4"
        UnitInfoDisplayDetail = "FireFighter" />

      <UnitInfoDisplayOutlineRow
        UnitIDName = "R12"
        UnitInfoDisplayDetail = "PersonTransporter" />

   </UnitInfoDisplayOutline>

   <UnitInfoDisplayOutline
      Name = "Ground Chief C" >
      ...
      <UnitInfoDisplayOutlineRow
        UnitIDName = "F5"
        UnitInfoDisplayDetail = "FireFighter" />

      <UnitInfoDisplayOutlineRow
        UnitIDName = "F6"
        UnitInfoDisplayDetail = "FireFighter" />

      <UnitInfoDisplayOutlineRow
        UnitIDName = "F7"
        UnitInfoDisplayDetail = "WaterTruck" />

      <UnitInfoDisplayOutlineRow
        UnitIDName = "F8"
        UnitInfoDisplayDetail = "WaterTruck" />

      <UnitInfoDisplayOutlineRow
        UnitIDName = "R13"
        UnitInfoDisplayDetail = "PersonTransporter" />

    </UnitInfoDisplayOutline>

    <UnitInfoDisplayOutline
      Name = "Ground Chief D" >
      ...
  
      <UnitInfoDisplayOutlineRow
        UnitIDName = "B9"
        UnitInfoDisplayDetail = "FireBreak" />

      <UnitInfoDisplayOutlineRow
        UnitIDName = "L10"
        UnitInfoDisplayDetail = "WaterTruck" />

      <UnitInfoDisplayOutlineRow
        UnitIDName = "L11"
        UnitInfoDisplayDetail = "WaterTruck" />

    </UnitInfoDisplayOutline>

  <UnitInfoDisplayOutline
      Name = "Manager" >
      ...
      <UnitInfoDisplayOutlineRow
        UnitIDName = "F1"
        UnitInfoDisplayDetail = "FireFighter" />

      <UnitInfoDisplayOutlineRow
        UnitIDName = "F2"
        UnitInfoDisplayDetail = "FireFighter" />

      <UnitInfoDisplayOutlineRow
        UnitIDName = "F3"
        UnitInfoDisplayDetail = "FireFighter" />

      <UnitInfoDisplayOutlineRow
        UnitIDName = "F4"
        UnitInfoDisplayDetail = "FireFighter" />

      <UnitInfoDisplayOutlineRow
        UnitIDName = "F5"
        UnitInfoDisplayDetail = "FireFighter" />

      <UnitInfoDisplayOutlineRow
        UnitIDName = "F6"
        UnitInfoDisplayDetail = "FireFighter" />

      <UnitInfoDisplayOutlineRow
        UnitIDName = "F7"
        UnitInfoDisplayDetail = "FireFighter" />

      <UnitInfoDisplayOutlineRow
        UnitIDName = "F8"
        UnitInfoDisplayDetail = "FireFighter" />

      <UnitInfoDisplayOutlineRow
        UnitIDName = "B9"
        UnitInfoDisplayDetail = "FireBreak" />

      <UnitInfoDisplayOutlineRow
        UnitIDName = "L10"
        UnitInfoDisplayDetail = "WaterTruck" />

      <UnitInfoDisplayOutlineRow
        UnitIDName = "L11"
        UnitInfoDisplayDetail = "WaterTruck" />

      <UnitInfoDisplayOutlineRow
        UnitIDName = "R12"
        UnitInfoDisplayDetail = "PersonTransporter" />

      <UnitInfoDisplayOutlineRow
        UnitIDName = "R13"
        UnitInfoDisplayDetail = "PersonTransporter" />

      <UnitInfoDisplayOutlineRow
        UnitIDName = "D14"
        UnitInfoDisplayDetail = "UAV" />

    </UnitInfoDisplayOutline>

Update Role info

Update what unit information outline display each role should display
Edit file: P4-F8L2R2B1Uav1-3x15min-Global-Roles.coni
  1. Update information outline display name for each role - UnitInfoDisplayOutline = "..."


   <Role
     IDName = "A"
     ...
     UnitInfoDisplayOutline = "Ground Chief A"
    
    <Role
      IDName = "B"
      ...
      UnitInfoDisplayOutline = "Ground Chief B"

    <Role
      IDName = "C"
      ...
      UnitInfoDisplayOutline = "Ground Chief C"
    
     <Role
       IDName = "D"
       ...
       UnitInfoDisplayOutline = "Ground Chief D"