VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
humanDamageActuator.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2018 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 #pragma once
11 
16 
19 class DtHumanDamagePSR;
20 
22 class DtHumanDamagePSR;
23 
24 
35 {
36 
37 public:
38 
41  DtHumanDamageActuator(const DtString& name,
42  DtLocalObject* owner,
43  DtSimulationServices* simManager,
44  DtComponentDescriptor* desc = 0,
45  DtReaderWriterRegistry* parentRegistry = 0);
46 
49  virtual ~DtHumanDamageActuator();
50 
53  virtual bool createPSR();
54 
55  virtual bool init();
56 
59  virtual const char* type() const;
60 
61  virtual void tick();
62 
66  virtual bool adjudicateDirectDamage(const DtDetonationContext& detonationContext);
67 
71  virtual bool adjudicateCollateralDamage(const DtDetonationContext& detonationContext);
72 
76  static DtSimComponent* creator(const DtString& name,
77  DtLocalObject* owner,
78  DtSimulationServices* simManager,
79  DtComponentDescriptor* desc = 0,
80  DtReaderWriterRegistry* parentRegistry = 0);
81 
82 protected:
83 
84  virtual void assessImpairment(DtDetonationContext& detonationContext,DtPrbValueList& probabilities, bool direct);
85 
86  virtual void setRestored() override;
87  virtual void setDestroyed() override;
88 
99  virtual DtDamageState isInjured(DtPrbValueList& probabilities) const;
100 
103  virtual void updateState(DtDamageState state);
104 
106  virtual DtSymbolString injuredSlightString() const;
108  virtual DtSymbolString injuredModerateString() const;
109 
110 private:
113 
116 
118  const DtHumanDamageActuator& operator=(const
119  DtHumanDamageActuator& orig);
120 
121 protected:
125 
132 
133  std::vector<DtString> myStunnedAnimationList;
134  std::vector<DtString> myProneAnimationList;
135  std::vector<DtString> myDeadAnimationList;
136 
139 };
140 
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
virtual bool adjudicateCollateralDamage(const DtDetonationContext &detonationContext)
Determines collateral damage from an impact near the entity.
This class allows one to collect and compare strings using an index number instead of having to do st...
Definition: symbolString.h:27
std::vector< DtString > myProneAnimationList
Definition: humanDamageActuator.h:134
DtHumanDamagePSR * myMHDProcessState
Definition: humanDamageActuator.h:128
virtual const char * type() const
Returns a string identifies the class type of component. Type values are defined in compTypes...
End User Description: A damage actuator that accounts for stunning an entity.
Definition: humanDamageActuator.h:34
A readable, writable type whose name is the name of a component and that has a list of component name...
Definition: componentDescriptor.h:49
Definition: readerWriterRegistry.h:39
virtual void setRestored()
Re-registers the entity to receive detonations since it is now restored.
virtual bool createPSR()
Create a process state repository (DtDamageAdjudicationPSR), or a different type if it is specified i...
static DtSimComponent * creator(const DtString &name, DtLocalObject *owner, DtSimulationServices *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
DtDamageAdjudicationActuator is responsible for adjudicating the damage from appropriate detonations...
Definition: damageAdjudicationActuator.h:64
Definition: humanDamageActuatorDescriptor.h:19
std::vector< DtString > myStunnedAnimationList
Definition: humanDamageActuator.h:133
DtPrbValueList.
Definition: prbValueList.h:19
int myCurrentHitPoints
The current health status of the entity.
Definition: humanDamageActuator.h:127
DtString myCurrentId
This is set in adjudicate direct damage to make sure a hit isn&#39;t counted twice in a collateral damage...
Definition: humanDamageActuator.h:131
The DtDetonationContext contains all the information necessary for processing a Detonation Interactio...
Definition: detonationContext.h:23
virtual void setDestroyed()
Calls setDestroyed on the myLocalStateRepository. Also calls setFlaming and setSmoking based on the p...
DtHumanDamageActuatorDescriptor * myHumanDamageActuatorDescriptor
The descriptor that initializes this actuator. It reads in the initial number of hit points this e...
Definition: humanDamageActuator.h:124
Definition: humanDamagePSR.h:18
Central access point of all non-object-specific the services and managers that are available for use ...
Definition: simulationServices.h:95
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:91
DtDamageAdjudicationActuator & operator=(const DtDamageAdjudicationActuator &orig)
assignment operator; not implemented
virtual bool init()
Registers callbacks with the detonation manager. Provides the detonation manager a pointer to the com...
virtual void tick()
Determines the destroyed status of the entity, and then checks to see if the flaming and smoking indi...
std::vector< DtString > myDeadAnimationList
Definition: humanDamageActuator.h:135
virtual bool adjudicateDirectDamage(const DtDetonationContext &detonationContext)
When a detonation context is received, from the detonation manager, it is processed in order to deter...
DtHumanLocalObjectFacade myHumanLocalObjectFacade
Member to allow for access to platform specific data.
Definition: humanDamageActuator.h:138
A locally simulated VRF object. Holds all internal and external data for the object, and provides access to both the current frame and next frame state data for the object. All current frame data is read-only, and next-frame data can be written to. No thread safety guarantees are made on this object during the simulation frame and it should only be accessed by the thread that is simulating the object.
Definition: localObject.h:86

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)