VR-Forces 4.5 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
damageAdjudicationActuator.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 
12 #pragma once
13 
15 
17 
21 class DtSimMessage;
22 class DtSimRadio;
23 class DtPrbValueList;
24 class DtRwExplosionEntry;
25 
42 
61 
64 {
65 
66 public:
67 
71  DtVrfObject* owner,
72  DtSimManager* simManager,
73  DtComponentDescriptor* desc = 0,
74  DtReaderWriterRegistry* parentRegistry = 0);
75 
79 
89  virtual bool init();
90 
93  virtual bool createPSR();
94 
101  static bool processDirectDetonationCallback(const DtDetonationContext& detonationContext, void* usr);
102 
109  static bool processCollateralDetonationCallback(const DtDetonationContext& detonationContext, void* usr);
110 
133 
135  virtual bool adjudicateDirectDamage(const DtDetonationContext& detonationContext);
136 
138  virtual bool adjudicateCollateralDamage(const DtDetonationContext& detonationContext);
139 
142  virtual const char* type() const;
143 
153  virtual void tick();
154 
156  static void setDestroyedCallback(DtSimMessage* msg, void* usrData);
157 
159  static void setRestoredCallback(DtSimMessage* msg, void* usrData);
160 
162  static void setInvulnerableCallback(DtSimMessage* msg, void* usrData);
163 
167  static DtSimComponent * creator(const DtString& name,
168  DtVrfObject* owner,
169  DtSimManager* simManager,
170  DtComponentDescriptor* desc = 0,
171  DtReaderWriterRegistry* parentRegistry = 0);
172 
173 protected:
174 
177  virtual void getDirectFireSurfaceAndAngleOfIncidence(DtDetonationContext& detonationContext);
178 
181  virtual void getIndirectFireSurfaceAndAngleOfIncidence(DtDetonationContext& detonationContext);
182 
184  virtual DtSymbolString getSurface(DtBoundingVolumeFace impactSurface);
185 
197  virtual bool getProbabilities(const DtDetonationContext& detonationContext,
198  DtPrbValueList& probabilities, bool isDirectDamage = true) const;
199 
210  virtual bool isCatastrophicallyKilled(DtPrbValueList& probabilities,
211  DtSymbolString catastrophicKillString) const;
212 
222  virtual bool isFirepowerKilled(DtPrbValueList& probabilities,
223  DtSymbolString firepowerKillString) const;
224 
234  virtual bool isMobilityKilled(DtPrbValueList& probabilities,
235  DtSymbolString mobilityKillString) const;
236 
237 
239  virtual DtSymbolString catastrophicKillString() const;
240 
242  virtual DtSymbolString mobilityKillString() const;
243 
245  virtual DtSymbolString firepowerKillString() const;
246 
253  virtual void determineDestroyedStatus();
254 
255 
258  virtual bool isRegisteredForDetonations() const;
259  virtual void setIsRegisteredForDetonations(bool yesOrNo);
261 
269  virtual void setDestroyed();
270 
273  virtual void setRestored();
274 
276  virtual void processSetInvulnerable(DtSimMessage* msg);
277 
282  virtual bool registerForDetonations();
283 
287  virtual bool unregisterForDetonations();
288 
290  virtual void setMobilityKilled();
291 
293  virtual void setFirepowerKilled();
294 
296  virtual void setRadio(DtSimRadio* radio);
297 
299  virtual void triggerDestructionExplosions();
300 
303  virtual void updateDestructionExplosions();
304 
305  virtual void sendDetonation(const DtRwExplosionEntry& explosionEntry);
306 
310  virtual DtVector positionOnEntity(const DtVector& percentOffset);
311 
312 protected:
314 
316 
317 private:
318 
321 
324 
327 
328 private:
332 };
333 
334 

Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)