15 #include <vlutil/vlMachineTypes.h>
16 #include <vlutil/vlString.h>
22 #include <matrix/vlVector.h>
60 virtual void setDefaultHostility();
65 virtual bool addForce(
DtString forceName,
DtVector forceColor,
bool includeInDialogs,
int forceType = -1);
68 virtual bool removeForce(DtU8 force);
71 virtual bool hasForceNamed(
const DtString&)
const;
75 virtual int forceTypeForForceNamed(
const DtString&)
const;
82 virtual void setHostility(DtU8 force, DtU8 targetForce,
bool hostile);
85 virtual bool hostile(DtU8 force, DtU8 targetForce)
const;
89 virtual void hostileForces(DtU8 force, std::list<DtU8>& forceList)
const;
90 virtual void hostileForces(DtU8 force, std::set<DtU8>& forceList)
const;
94 virtual void friendlyForces(DtU8 force, std::list<DtU8>& forceList)
const;
107 virtual void setName(DtU8 force,
DtString forceName);
108 virtual DtString name(DtU8 force)
const;
113 virtual void setIncludeInDialogs(DtU8 force,
bool includeInDialogs);
114 virtual bool includeInDialogs(DtU8 force);
119 virtual void setColor(DtU8 force,
DtVector forceColor);
125 virtual void setForceIsUsed(DtU8 force,
bool forceIsUsed);
126 virtual bool forceIsUsed(DtU8 force);
130 virtual int numForces()
const;
133 virtual DtU8 nextAvailableForceId();
149 virtual bool readHostilityFile(
const DtString&
filename,
bool clear =
true);
150 virtual bool readHostilityFileFromZipFile(
const DtFilename& scenarioZipFile,
const DtString&
filename,
bool clear =
true);
153 virtual bool processHostilityFile(DtlInputStream*,
bool clear);
162 virtual void sendHostilityMatrix();
165 virtual void sendForces();
173 virtual void registerInterfaceMessageCallbacks();
177 static void requestHostilityMatrixCallback(
DtSimMessage* msg,
void* usr);
178 virtual void processRequestHostilityMatrix(
DtSimMessage* msg);
183 static void requestForcesCallback(
DtSimMessage* msg,
void* usr);
189 static void setHostilityMatrixCallback(
DtSimMessage* msg,
void* usr);
190 virtual void processSetHostilityMatrix(
DtSimMessage* msg);
195 static void requestForceHostilityCallback(
DtSimMessage* msg,
void* usr);
196 virtual void processRequestForceHostility(
DtSimMessage* msg);
201 static void setForceHostilityCallback(
DtSimMessage* msg,
void* usr);
202 virtual void processSetForceHostility(
DtSimMessage* msg);
211 virtual void clearMatrix();