14 #ifndef hostilityManager_h
15 #define hostilityManager_h
19 #include <vlutil/vlMachineTypes.h>
20 #include <vlutil/vlString.h>
25 #include <matrix/vlVector.h>
62 virtual void setDefaultHostility();
67 virtual bool addForce(
DtString forceName,
DtVector forceColor,
bool includeInDialogs,
int forceType = -1);
70 virtual bool removeForce(DtU8 force);
73 virtual bool hasForceNamed(
const DtString&)
const;
77 virtual int forceTypeForForceNamed(
const DtString&)
const;
84 virtual void setHostility(DtU8 force, DtU8 targetForce,
bool hostile);
87 virtual bool hostile(DtU8 force, DtU8 targetForce)
const;
91 virtual void hostileForces(DtU8 force, std::list<DtU8>& forceList)
const;
95 virtual void friendlyForces(DtU8 force, std::list<DtU8>& forceList)
const;
108 virtual void setName(DtU8 force,
DtString forceName);
109 virtual DtString name(DtU8 force)
const;
114 virtual void setIncludeInDialogs(DtU8 force,
bool includeInDialogs);
115 virtual bool includeInDialogs(DtU8 force);
120 virtual void setColor(DtU8 force,
DtVector forceColor);
126 virtual void setForceIsUsed(DtU8 force,
bool forceIsUsed);
127 virtual bool forceIsUsed(DtU8 force);
131 virtual int numForces()
const;
134 virtual DtU8 nextAvailableForceId();
150 virtual bool readHostilityFile(
const DtString& filename);
159 virtual void sendHostilityMatrix();
162 virtual void sendForces();
170 virtual void registerInterfaceMessageCallbacks();
174 static void requestHostilityMatrixCallback(
DtSimMessage* msg,
void* usr);
175 virtual void processRequestHostilityMatrix(
DtSimMessage* msg);
180 static void requestForcesCallback(
DtSimMessage* msg,
void* usr);
186 static void setHostilityMatrixCallback(
DtSimMessage* msg,
void* usr);
187 virtual void processSetHostilityMatrix(
DtSimMessage* msg);
192 static void requestForceHostilityCallback(
DtSimMessage* msg,
void* usr);
193 virtual void processRequestForceHostility(
DtSimMessage* msg);
198 static void setForceHostilityCallback(
DtSimMessage* msg,
void* usr);
199 virtual void processSetForceHostility(
DtSimMessage* msg);
208 virtual void clearMatrix();