15 #include <vlutil/vlMachineTypes.h>
16 #include <vlutil/vlString.h>
22 #include <matrix/vlVector.h>
60 virtual void setDefaultHostility();
68 virtual bool addForce(
DtString forceName, DtVector forceColor,
bool includeInDialogs,
int forceType = -1,
const DtString& country =
"");
71 virtual bool removeForce(DtU8 force);
74 virtual bool hasForceNamed(
const DtString&)
const;
78 virtual int forceTypeForForceNamed(
const DtString&)
const;
89 virtual void setHostility(DtU8 force, DtU8 targetForce,
bool hostile);
92 virtual bool hostile(DtU8 force, DtU8 targetForce)
const;
95 virtual std::vector<DtU8> forcesUsed(
bool alsoInDialogs =
false)
const;
99 virtual void hostileForces(DtU8 force, std::list<DtU8>& forceList)
const;
100 virtual void hostileForces(DtU8 force, std::set<DtU8>& forceList)
const;
104 virtual int forceHostileTo(DtU8 force)
const;
108 virtual void friendlyForces(DtU8 force, std::list<DtU8>& forceList)
const;
121 virtual void setName(DtU8 force,
DtString forceName);
122 virtual DtString name(DtU8 force)
const;
127 virtual void setCountry(DtU8 force,
DtString forceName);
128 virtual DtString country(DtU8 force)
const;
133 virtual void setIncludeInDialogs(DtU8 force,
bool includeInDialogs);
134 virtual bool includeInDialogs(DtU8 force)
const;
139 virtual void setColor(DtU8 force, DtVector forceColor);
140 virtual DtVector color(DtU8 force)
const;
145 virtual void setForceIsUsed(DtU8 force,
bool forceIsUsed);
146 virtual bool forceIsUsed(DtU8 force);
150 virtual int numForces()
const;
153 virtual DtU8 nextAvailableForceId();
169 virtual bool readHostilityFile(
const DtString&
filename,
bool clear =
true);
170 virtual bool readHostilityFileFromZipFile(
const DtFilename& scenarioZipFile,
const DtString&
filename,
bool clear =
true);
173 virtual bool processHostilityFile(DtlInputStream*,
bool clear);
184 virtual void sendHostilityMatrix();
187 virtual void sendForces();
195 virtual void registerInterfaceMessageCallbacks();
199 static void requestHostilityMatrixCallback(
DtSimMessage* msg,
void* usr);
200 virtual void processRequestHostilityMatrix(
DtSimMessage* msg);
205 static void requestForcesCallback(
DtSimMessage* msg,
void* usr);
211 static void setHostilityMatrixCallback(
DtSimMessage* msg,
void* usr);
212 virtual void processSetHostilityMatrix(
DtSimMessage* msg);
217 static void requestForceHostilityCallback(
DtSimMessage* msg,
void* usr);
218 virtual void processRequestForceHostility(
DtSimMessage* msg);
223 static void setForceHostilityCallback(
DtSimMessage* msg,
void* usr);
224 virtual void processSetForceHostility(
DtSimMessage* msg);
233 virtual void clearMatrix();
std::vector< DtString > DtNameVector
Definition: hostilityManager.h:241
DtBoolVector myForceIsUsedVector
Definition: hostilityManager.h:259
DtCallbackList< DtU8 > myHostilityChangedCallbackList
Definition: hostilityManager.h:261
DtVectorVector myColorVector
Definition: hostilityManager.h:258
std::vector< DtVector > DtVectorVector
Definition: hostilityManager.h:242
DtSimulationServices * mySimulationServices
Local members.
Definition: hostilityManager.h:248
DtCallbackList< DtU8 >::DtCallbackFunctionType DtHostitliyChangedCallbackFcn
Definition: hostilityManager.h:48
This class keeps track of which forces are hostile to which other forces in the simulation. It maintains state for each force type, and which other forces types are considered hostile by that force. It can be queried for this data any time during the simulation. Supports force enumerations from 0 to 255.
Definition: hostilityManager.h:34
std::vector< DtBoolVector > DtBoolVectorVector
Definition: hostilityManager.h:240
DtBoolVector myIncludeInDialogsVector
Definition: hostilityManager.h:257
ReaderWriter for lists of force descriptions.
Definition: rwForceDescriptionList.h:28
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
File: simMsg.h.
Definition: simMessage.h:35
Definition: noArgumentCallbackList.h:90
std::vector< bool > DtBoolVector
Typedefs to make list definitions easier.
Definition: hostilityManager.h:239
Central access point of all non-object-specific the services and managers that are available for use ...
Definition: simulationServices.h:96
DtNameVector myCountryVector
Definition: hostilityManager.h:256
DtNameVector myNameVector
Definition: hostilityManager.h:255
Description: A readable, writable list of force descriptions.
Definition: rwForceDescriptionList.h:86
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
DtBoolVectorVector myHostilityMatrix
Tracks which forces are hostile to which other forces. Each force has a vector which contains a boole...
Definition: hostilityManager.h:253