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 int forceHostileTo(DtU8 force)
const;
98 virtual void friendlyForces(DtU8 force, std::list<DtU8>& forceList)
const;
111 virtual void setName(DtU8 force,
DtString forceName);
112 virtual DtString name(DtU8 force)
const;
117 virtual void setIncludeInDialogs(DtU8 force,
bool includeInDialogs);
118 virtual bool includeInDialogs(DtU8 force);
123 virtual void setColor(DtU8 force,
DtVector forceColor);
129 virtual void setForceIsUsed(DtU8 force,
bool forceIsUsed);
130 virtual bool forceIsUsed(DtU8 force);
134 virtual int numForces()
const;
137 virtual DtU8 nextAvailableForceId();
153 virtual bool readHostilityFile(
const DtString&
filename,
bool clear =
true);
154 virtual bool readHostilityFileFromZipFile(
const DtFilename& scenarioZipFile,
const DtString&
filename,
bool clear =
true);
157 virtual bool processHostilityFile(DtlInputStream*,
bool clear);
166 virtual void sendHostilityMatrix();
169 virtual void sendForces();
177 virtual void registerInterfaceMessageCallbacks();
181 static void requestHostilityMatrixCallback(
DtSimMessage* msg,
void* usr);
182 virtual void processRequestHostilityMatrix(
DtSimMessage* msg);
187 static void requestForcesCallback(
DtSimMessage* msg,
void* usr);
193 static void setHostilityMatrixCallback(
DtSimMessage* msg,
void* usr);
194 virtual void processSetHostilityMatrix(
DtSimMessage* msg);
199 static void requestForceHostilityCallback(
DtSimMessage* msg,
void* usr);
200 virtual void processRequestForceHostility(
DtSimMessage* msg);
205 static void setForceHostilityCallback(
DtSimMessage* msg,
void* usr);
206 virtual void processSetForceHostility(
DtSimMessage* msg);
215 virtual void clearMatrix();