15 #include <vlutil/vlMachineTypes.h>
16 #include <vlutil/vlString.h>
22 #include <matrix/vlVector.h>
59 virtual void setDefaultHostility();
64 virtual bool addForce(
DtString forceName,
DtVector forceColor,
bool includeInDialogs,
int forceType = -1);
67 virtual bool removeForce(DtU8 force);
70 virtual bool hasForceNamed(
const DtString&)
const;
74 virtual int forceTypeForForceNamed(
const DtString&)
const;
81 virtual void setHostility(DtU8 force, DtU8 targetForce,
bool hostile);
84 virtual bool hostile(DtU8 force, DtU8 targetForce)
const;
88 virtual void hostileForces(DtU8 force, std::list<DtU8>& forceList)
const;
89 virtual void hostileForces(DtU8 force, std::set<DtU8>& forceList)
const;
93 virtual void friendlyForces(DtU8 force, std::list<DtU8>& forceList)
const;
106 virtual void setName(DtU8 force,
DtString forceName);
107 virtual DtString name(DtU8 force)
const;
112 virtual void setIncludeInDialogs(DtU8 force,
bool includeInDialogs);
113 virtual bool includeInDialogs(DtU8 force);
118 virtual void setColor(DtU8 force,
DtVector forceColor);
124 virtual void setForceIsUsed(DtU8 force,
bool forceIsUsed);
125 virtual bool forceIsUsed(DtU8 force);
129 virtual int numForces()
const;
132 virtual DtU8 nextAvailableForceId();
148 virtual bool readHostilityFile(
const DtString& filename,
bool clear =
true);
157 virtual void sendHostilityMatrix();
160 virtual void sendForces();
168 virtual void registerInterfaceMessageCallbacks();
172 static void requestHostilityMatrixCallback(
DtSimMessage* msg,
void* usr);
173 virtual void processRequestHostilityMatrix(
DtSimMessage* msg);
178 static void requestForcesCallback(
DtSimMessage* msg,
void* usr);
184 static void setHostilityMatrixCallback(
DtSimMessage* msg,
void* usr);
185 virtual void processSetHostilityMatrix(
DtSimMessage* msg);
190 static void requestForceHostilityCallback(
DtSimMessage* msg,
void* usr);
191 virtual void processRequestForceHostility(
DtSimMessage* msg);
196 static void setForceHostilityCallback(
DtSimMessage* msg,
void* usr);
197 virtual void processSetForceHostility(
DtSimMessage* msg);
206 virtual void clearMatrix();