![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2003 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: dmgCompDesc.h,v $ $Revision: 1.17 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00014 00015 #ifndef DtDamageComponentDescriptor_H_ 00016 #define DtDamageComponentDescriptor_H_ 00017 00018 #include "vrfobjparam/actCompDesc.h" 00019 #include "vrfobjparam/dmgMunTable.h" 00020 #include "vrfutil/rwReal.h" 00021 #include "vrfutil/vlClock.h" 00022 #include "vrfutil/rwBoolean.h" 00023 00024 class DtSimMunition; 00025 class DtPrbRangeTableEntry; 00026 00029 #include "vrfobjparam/vrfobjparamDefines.h" 00030 class DT_DLL_vrfobjparam DtDamageComponentDescriptor : public DtActuatorComponentDescriptor 00031 { 00032 public: 00034 DtDamageComponentDescriptor(const DtString& name, 00035 DtReaderWriterRegistry* parentRegistry = NULL); 00036 DtDamageComponentDescriptor(const DtSymbolString& name, 00037 DtReaderWriterRegistry* parentRegistry = NULL); 00038 00042 DtDamageComponentDescriptor(const DtDamageComponentDescriptor& orig, 00043 DtReaderWriterRegistry* parentRegistry = NULL); 00044 00046 DtDamageComponentDescriptor& operator=( 00047 const DtDamageComponentDescriptor& orig); 00048 00050 virtual ~DtDamageComponentDescriptor(); 00051 00054 virtual DtString type() const; 00055 00056 virtual DtComponentDescriptor* clone( 00057 DtReaderWriterRegistry* parentRegistry = NULL) const; 00058 00060 virtual bool init(); 00061 00068 virtual void setDamageModel(const DtDmgMunitionTable* model); 00069 00071 virtual const DtDmgMunitionTable* damageModel() const; 00072 00075 virtual DtReal smokeTime() const; 00076 virtual void setSmokeTime(DtReal smokeTime); 00078 00081 virtual DtTime flameTime() const; 00082 virtual void setFlameTime(DtTime flameTime); 00084 00087 virtual bool terminateOnDestroy() const; 00088 virtual void setTerminateOnDestroy(bool yesNo); 00090 00094 virtual bool getKillProbabilities(const DtSimMunition& munition, const 00095 DtString& surface, DtReal angleOfIncidence, DtReal range, 00096 DtPrbRangeTableEntry * rangeEntry) const; 00097 00098 00101 virtual void setUnderFireTime(DtTime underFireTime); 00102 virtual DtTime underFireTime() const; 00104 00107 virtual DtReal underFireDistance() const; 00108 virtual void setUnderFireDistance(DtReal underFireDistance); 00110 00113 virtual bool underFireFromFriendly() const; 00114 virtual void setUnderFireFromFriendly(bool b); 00116 00119 virtual void putSelf(FILE* fp, int indentLevel = 0, bool writeUnspecified = false, 00120 const DtFilename& path = DtReaderWriter::appPath()); 00121 00123 static DtComponentDescriptor* creator(); 00124 00125 protected: 00127 DtDamageComponentDescriptor(); 00128 00129 protected: 00133 00139 DtRwTime mySmokeTime; 00140 00146 DtRwTime myFlameTime; 00147 00152 DtRwBoolean myTerminateOnDestroy; 00153 00159 DtRwTime myUnderFireTime; 00160 00166 DtRwReal myUnderFireDistance; 00167 00172 DtRwBoolean myUnderFireFromFriendly; 00173 00177 const DtDmgMunitionTable* myDamageModel; 00178 00180 00181 bool myOwnDamageModel; 00182 }; 00183 00184 #endif 00185 00186 00187