VR-Forces 4.6 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties 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 
248  virtual bool protectedFromCollateralDamageByEmbarkation() const;
249 
256  virtual void determineDestroyedStatus();
257 
258 
261  virtual bool isRegisteredForDetonations() const;
262  virtual void setIsRegisteredForDetonations(bool yesOrNo);
264 
272  virtual void setDestroyed();
273 
276  virtual void setRestored();
277 
279  virtual void processSetInvulnerable(DtSimMessage* msg);
280 
285  virtual bool registerForDetonations();
286 
290  virtual bool unregisterForDetonations();
291 
293  virtual void setMobilityKilled();
294 
296  virtual void setFirepowerKilled();
297 
299  virtual void setRadio(DtSimRadio* radio);
300 
302  virtual void triggerDestructionExplosions();
303 
306  virtual void updateDestructionExplosions();
307 
308  virtual void sendDetonation(const DtRwExplosionEntry& explosionEntry);
309 
313  virtual DtVector positionOnEntity(const DtVector& percentOffset);
314 
315 protected:
317 
319 
320 private:
321 
324 
327 
330 
331 private:
335 };
336 
337 

Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)