VR-Forces 4.1 Class Documentation
hostilityManager.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2007 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 /*******************************************************************************
6 ** $RCSfile: hostilityManager.h,v $ $Revision: 1.6 $ $State: Exp $
7 *******************************************************************************/
8 
11 
13 
14 #ifndef hostilityManager_h
15 #define hostilityManager_h
16 
19 #include <vlutil/vlMachineTypes.h>
20 #include <vlutil/vlString.h>
21 #include <vector>
22 #include <list>
23 #include "vrfutil/callbackList.h"
25 #include <matrix/vlVector.h>
26 
27 //forward defs
28 class DtSimManager;
29 class DtSimMessage;
30 
37 {
38 public:
39  DtHostilityManager(DtSimManager* simManager);
40  virtual ~DtHostilityManager();
41 
42 private:
44 
46  DtHostilityManager& operator=(const DtHostilityManager& orig);
48 
49 protected:
51 
52 public:
56  virtual bool init();
57 
62  virtual void setDefaultHostility();
63 
67  virtual bool addForce(DtString forceName, DtVector forceColor, bool includeInDialogs, int forceType = -1);
68 
70  virtual bool removeForce(DtU8 force);
71 
73  virtual bool hasForceNamed(const DtString&) const;
74 
77  virtual int forceTypeForForceNamed(const DtString&) const;
78 
84  virtual void setHostility(DtU8 force, DtU8 targetForce, bool hostile);
85 
87  virtual bool hostile(DtU8 force, DtU8 targetForce) const;
88 
91  virtual void hostileForces(DtU8 force, std::list<DtU8>& forceList) const;
92 
95  virtual void friendlyForces(DtU8 force, std::list<DtU8>& forceList) const;
96 
101 
102  virtual void addHostilityChangedCallback(DtHostitliyChangedCallbackFcn fcn, void* usr);
103  virtual void removeHostilityChangedCallback(DtHostitliyChangedCallbackFcn fcn, void* usr);
105 
107 
108  virtual void setName(DtU8 force, DtString forceName);
109  virtual DtString name(DtU8 force) const;
111 
113 
114  virtual void setIncludeInDialogs(DtU8 force, bool includeInDialogs);
115  virtual bool includeInDialogs(DtU8 force);
117 
119 
120  virtual void setColor(DtU8 force, DtVector forceColor);
121  virtual DtVector color(DtU8 force);
123 
125 
126  virtual void setForceIsUsed(DtU8 force, bool forceIsUsed);
127  virtual bool forceIsUsed(DtU8 force);
129 
131  virtual int numForces() const;
132 
134  virtual DtU8 nextAvailableForceId();
135 /*
138  virtual void writeHostilityFile(const DtString& filename);
139 */
143  virtual const DtRwForceDescriptionList& forceDescriptionList();
144 
150  virtual bool readHostilityFile(const DtString& filename);
151 
156  virtual void setDataFromDescriptionList(const DtRwForceDescriptionList& l);
157 
159  virtual void sendHostilityMatrix();
160 
162  virtual void sendForces();
163 
164 protected:
165 
166 //****************************************************************************
168 //****************************************************************************
170  virtual void registerInterfaceMessageCallbacks();
171 
173 
174  static void requestHostilityMatrixCallback(DtSimMessage* msg, void* usr);
175  virtual void processRequestHostilityMatrix(DtSimMessage* msg);
177 
179 
180  static void requestForcesCallback(DtSimMessage* msg, void* usr);
181  virtual void processRequestForces(DtSimMessage* msg);
183 
185 
186  static void setHostilityMatrixCallback(DtSimMessage* msg, void* usr);
187  virtual void processSetHostilityMatrix(DtSimMessage* msg);
189 
191 
192  static void requestForceHostilityCallback(DtSimMessage* msg, void* usr);
193  virtual void processRequestForceHostility(DtSimMessage* msg);
195 
197 
198  static void setForceHostilityCallback(DtSimMessage* msg, void* usr);
199  virtual void processSetForceHostility(DtSimMessage* msg);
201 
202 //****************************************************************************
204 //****************************************************************************
205 
208  virtual void clearMatrix();
209 
210 //****************************************************************************
212 //****************************************************************************
213 
214  typedef std::vector<bool> DtBoolVector;
215  typedef std::vector<DtBoolVector> DtBoolVectorVector;
216  typedef std::vector<DtString> DtNameVector;
217  typedef std::vector<DtVector> DtVectorVector;
218 
219 //****************************************************************************
221 //****************************************************************************
222 
224 
229 
234 
239 
241 };
242 
243 #endif

Document ID: Generated on Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)