Difference between revisions of "Config/P4-F9L3R2Uav1-3x15min-To-P4-F8L2R2B1Uav1-3x15min"
From C3LearningLabs
					| Line 372: | Line 372: | ||
== UAVs Map Positions ==  | == UAVs Map Positions ==  | ||
Update all UAVs map positions.  | Update all UAVs map positions.  | ||
| + | :Add, remove units and set position.  | ||
Edit file:    | Edit file:    | ||
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.
- 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.
 
- Remove fire fighting unit 9
 - Add fire break unit 9, copy from Demo\FireBreak\P1-F8B4, and set the unit number 9.
 - Remove logistics unit 12
 - Renumber Rescue Unit to 12 and 13
 - Remove Rescue Unit 14
 - 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
 
- Set IDName
 - 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
 
- Set id name - IDName = "..."
 - Set the units the role control, For all roles - ControlUnits = "..."
 - Set name - LongName = "..."
 - 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
 
- Update F9 to B9
 - Update L12 to R12
 - Delete R14
 - 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 = "..." />
 
 
 - <UnitInfoDisplayOutlineRow
 
  <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
 
- 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"