![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2010 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 00008 00014 00015 #pragma once 00016 00017 #include "vrfobjcore/weaponPSR.h" 00018 #include "vrfobjcore/detDescLst.h" 00019 #include "vrfutil/rwVector.h" 00020 #include "vrfutil/rwBoolean.h" 00021 00027 00028 #include "vrfobjcore/vrfobjcoreDefines.h" 00029 class DT_DLL_vrfobjcore DtVrfIndirectFirePSR : public DtVrfWeaponPSR 00030 { 00031 00032 protected: 00033 00034 DtVrfIndirectFirePSR(); 00035 00036 public: 00037 00038 DtVrfIndirectFirePSR(DtVrfObject* vrfObject, 00039 const DtString& rwName = DtString::nullString(), 00040 DtReaderWriterRegistry* parentRegistry = 0); 00041 00042 DtVrfIndirectFirePSR(const DtVrfIndirectFirePSR& orig, 00043 const DtString& rwName = DtString::nullString(), 00044 DtReaderWriterRegistry* parentRegistry = 0); 00045 00046 const DtVrfIndirectFirePSR& operator=( 00047 const DtVrfIndirectFirePSR& orig); 00048 00049 virtual ~DtVrfIndirectFirePSR(); 00050 00051 virtual DtVrfProcessStateRepository* clone( 00052 const DtString& rwName = DtString::nullString(), 00053 DtReaderWriterRegistry* parentRegistry = 0) const; 00054 00056 virtual DtString type() const; 00057 00059 virtual const DtDetonationDescriptorList& pendingDetonations() const; 00060 00062 virtual void addPendingDetonation(DtDetonationDescriptor* desc); 00063 00065 virtual void removePendingDetonation(const DtEventId& eventId); 00066 00068 virtual void setNumberOfRoundsToFire(int number); 00069 virtual int numberOfRoundsToFire() const; 00070 00072 virtual void setRoundsFiredSoFar(int number); 00073 virtual int roundsFiredSoFar() const; 00074 00076 virtual void setHeightAboveTerrain(DtReal height); 00078 virtual DtReal heightAboveTerrain(); 00079 00080 virtual void setCurrentTargetLocation(const DtVector& location); 00081 virtual const DtVector& currentTargetLocation(); 00082 00086 virtual void setTaskCurrentlyQueued(bool queued); 00087 virtual bool taskCurrentlyQueued(); 00089 00090 public: 00091 00092 static DtVrfProcessStateRepository* creator (const DtString& name, 00093 DtVrfObject* vrfObject, DtReaderWriterRegistry* parentRegistry); 00094 00095 protected: 00096 00099 DtDetonationDescriptorList myPendingDetonations; 00100 00104 DtRwInt myNumberOfRoundsToFire; 00105 DtRwInt myRoundsFiredSoFar; 00106 DtRwReal myHeightAboveTerrain; 00107 DtRwVector myCurrentTargetLocation; 00108 00110 DtRwBoolean myTaskCurrentlyQueued; 00111 };