![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2002 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: balGunPSR.h,v $ $Revision: 1.5 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00017 00018 #ifndef DtVrfBalGunPSR_H_ 00019 #define DtVrfBalGunPSR_H_ 00020 00021 #include "vrfobjcore/weaponPSR.h" 00022 #include "vrfobjcore/detDescLst.h" 00023 #include "vlutil/vlTime.h" 00024 00025 00026 00027 enum DtLineOfSightState 00028 { 00029 DtLineOfSightUnknown = 0, 00030 DtLineOfSightBlocked = 1, 00031 DtLineOfSightClear = 2 00032 }; 00033 00039 00040 00041 #include "vrfobjcore/vrfobjcoreDefines.h" 00042 class DT_DLL_vrfobjcore DtVrfBalGunPSR : public DtVrfWeaponPSR 00043 { 00044 00045 protected: 00046 00047 DtVrfBalGunPSR(); 00048 00049 public: 00050 00051 DtVrfBalGunPSR(DtVrfObject* vrfObject, 00052 const DtString& rwName = DtString::nullString(), 00053 DtReaderWriterRegistry* parentRegistry = 0); 00054 00055 DtVrfBalGunPSR(const DtVrfBalGunPSR& orig, 00056 const DtString& rwName = DtString::nullString(), 00057 DtReaderWriterRegistry* parentRegistry = 0); 00058 00059 const DtVrfBalGunPSR& operator=( 00060 const DtVrfBalGunPSR& orig); 00061 00062 virtual ~DtVrfBalGunPSR(); 00063 00064 virtual DtVrfProcessStateRepository* clone( 00065 const DtString& rwName = DtString::nullString(), 00066 DtReaderWriterRegistry* parentRegistry = 0) const; 00067 00069 virtual DtString type() const; 00070 00072 virtual const DtDetonationDescriptorList& pendingDetonations() const; 00073 00075 virtual void addPendingDetonation(DtDetonationDescriptor* desc); 00076 00078 virtual void removePendingDetonation(const DtEventId& eventId); 00079 00081 virtual void setFiringCycleCompleteTime(DtTime completeTime); 00082 00084 virtual DtTime timeFiringCycleComplete() const; 00085 00088 virtual void setCommandedToFire(); 00089 virtual void setHasFired(); 00090 virtual bool isCommandedToFire(); 00091 virtual bool hasFired(); 00093 00094 virtual void setDisplayName(const DtString& displayName); 00095 virtual const DtString displayName() const; 00096 00097 public: 00098 00099 static DtVrfProcessStateRepository* creator (const DtString& name, 00100 DtVrfObject* vrfObject, DtReaderWriterRegistry* parentRegistry); 00101 00102 protected: 00103 00106 DtDetonationDescriptorList myPendingDetonations; 00107 00110 enum FireState 00111 { 00112 CommandedToFire, 00113 HasFired 00114 }; 00115 00122 DtRwInt myFireState; 00123 00128 DtRwReal myFireCycleCompleteTime; 00129 00130 DtRwString myDisplayName; 00131 }; 00132 00133 #endif