VR-Forces 4.6.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
hostilityManager.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2016 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
15 #include <vlutil/vlMachineTypes.h>
16 #include <vlutil/vlString.h>
17 #include <vector>
18 #include <list>
19 #include <set>
22 #include <matrix/vlVector.h>
23 
24 //forward defs
25 class DtSimManager;
26 class DtSimMessage;
27 class DtlInputStream;
28 
35 {
36 public:
37  DtHostilityManager(DtSimManager* simManager);
38  virtual ~DtHostilityManager();
39 
40 private:
42 
44  DtHostilityManager& operator=(const DtHostilityManager& orig);
46 
47 protected:
49 
50 public:
54  virtual bool init();
55 
60  virtual void setDefaultHostility();
61 
65  virtual bool addForce(DtString forceName, DtVector forceColor, bool includeInDialogs, int forceType = -1);
66 
68  virtual bool removeForce(DtU8 force);
69 
71  virtual bool hasForceNamed(const DtString&) const;
72 
75  virtual int forceTypeForForceNamed(const DtString&) const;
76 
82  virtual void setHostility(DtU8 force, DtU8 targetForce, bool hostile);
83 
85  virtual bool hostile(DtU8 force, DtU8 targetForce) const;
86 
89  virtual void hostileForces(DtU8 force, std::list<DtU8>& forceList) const;
90  virtual void hostileForces(DtU8 force, std::set<DtU8>& forceList) const;
91 
94  virtual void friendlyForces(DtU8 force, std::list<DtU8>& forceList) const;
95 
100 
101  virtual void addHostilityChangedCallback(DtHostitliyChangedCallbackFcn fcn, void* usr);
102  virtual void removeHostilityChangedCallback(DtHostitliyChangedCallbackFcn fcn, void* usr);
104 
106 
107  virtual void setName(DtU8 force, DtString forceName);
108  virtual DtString name(DtU8 force) const;
110 
112 
113  virtual void setIncludeInDialogs(DtU8 force, bool includeInDialogs);
114  virtual bool includeInDialogs(DtU8 force);
116 
118 
119  virtual void setColor(DtU8 force, DtVector forceColor);
120  virtual DtVector color(DtU8 force);
122 
124 
125  virtual void setForceIsUsed(DtU8 force, bool forceIsUsed);
126  virtual bool forceIsUsed(DtU8 force);
128 
130  virtual int numForces() const;
131 
133  virtual DtU8 nextAvailableForceId();
134 /*
137  virtual void writeHostilityFile(const DtString& filename);
138 */
142  virtual const DtRwForceDescriptionList& forceDescriptionList();
143 
149  virtual bool readHostilityFile(const DtString& filename, bool clear = true);
150  virtual bool readHostilityFileFromZipFile(const DtFilename& scenarioZipFile, const DtString& filename, bool clear = true);
151 
153  virtual bool processHostilityFile(DtlInputStream*, bool clear);
154 
159  virtual void setDataFromDescriptionList(const DtRwForceDescriptionList& l, bool clear = true);
160 
162  virtual void sendHostilityMatrix();
163 
165  virtual void sendForces();
166 
167 protected:
168 
169 //****************************************************************************
171 //****************************************************************************
173  virtual void registerInterfaceMessageCallbacks();
174 
176 
177  static void requestHostilityMatrixCallback(DtSimMessage* msg, void* usr);
178  virtual void processRequestHostilityMatrix(DtSimMessage* msg);
180 
182 
183  static void requestForcesCallback(DtSimMessage* msg, void* usr);
184  virtual void processRequestForces(DtSimMessage* msg);
186 
188 
189  static void setHostilityMatrixCallback(DtSimMessage* msg, void* usr);
190  virtual void processSetHostilityMatrix(DtSimMessage* msg);
192 
194 
195  static void requestForceHostilityCallback(DtSimMessage* msg, void* usr);
196  virtual void processRequestForceHostility(DtSimMessage* msg);
198 
200 
201  static void setForceHostilityCallback(DtSimMessage* msg, void* usr);
202  virtual void processSetForceHostility(DtSimMessage* msg);
204 
205 //****************************************************************************
207 //****************************************************************************
208 
211  virtual void clearMatrix();
212 
213 //****************************************************************************
215 //****************************************************************************
216 
217  typedef std::vector<bool> DtBoolVector;
218  typedef std::vector<DtBoolVector> DtBoolVectorVector;
219  typedef std::vector<DtString> DtNameVector;
220  typedef std::vector<DtVector> DtVectorVector;
221 
222 //****************************************************************************
224 //****************************************************************************
225 
227 
232 
237 
242 
244 };

Document ID: Generated on Wed Jul 25 16:57:45 EDT 2018 from SVN revision 190790
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)