![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2004 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: cruiseMisLaunchCtlr.h,v $ $Revision: 1.18 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00014 00015 00016 #ifndef cruiseMisLaunchCtlr_H_ 00017 #define cruiseMisLaunchCtlr_H_ 00018 00019 #include "vrfobjcore/singleTaskControllerComponent.h" 00020 00021 class DtIfPlan; 00022 class DtCruiseMissileLaunchControllerDescriptor; 00023 class DtCruiseMissileLaunchControllerPSR; 00024 00040 00041 #include "vrfmodel/vrfmodelDefines.h" 00042 class DT_DLL_vrfmodel DtCruiseMissileLaunchController : public DtSingleTaskControllerComponent 00043 { 00044 private: 00046 DtCruiseMissileLaunchController(); 00048 DtCruiseMissileLaunchController(const DtCruiseMissileLaunchController& orig); 00050 DtCruiseMissileLaunchController& operator=(const DtCruiseMissileLaunchController& orig); 00051 00052 public: 00053 00056 DtCruiseMissileLaunchController(const DtString &name, DtVrfObject* owner, 00057 DtSimManager* simManager, DtComponentDescriptor* compDesc = 0, 00058 DtReaderWriterRegistry* parentRegistry = 0); 00059 00061 virtual ~DtCruiseMissileLaunchController(); 00062 00065 virtual DtString type() const; 00066 00069 virtual bool init(); 00070 00072 virtual void setComponentDescriptor(DtComponentDescriptor *compDesc); 00073 00079 virtual bool createPSR(); 00080 00085 virtual void tick(); 00086 00090 static DtSimComponent * creator(const DtString& name, 00091 DtVrfObject* owner, 00092 DtSimManager* simManager, 00093 DtComponentDescriptor* desc = 0, 00094 DtReaderWriterRegistry* parentRegistry = 0); 00095 00096 protected: 00098 virtual void registerRadioMessageCallbacks(); 00099 00102 virtual bool missileResourceAvailable() const; 00103 00105 virtual void consumeMissileResource(); 00106 00110 virtual DtVrfObject* createMissileObject(); 00111 00114 virtual DtIfPlan createMissilePlan(const DtString& missileName); 00115 00118 virtual void createAndSendFireInteraction(DtVrfObject* missile, 00119 const DtEventId& eventId); 00120 00122 virtual void addRangeItems(); 00123 00124 protected: 00126 DtCruiseMissileLaunchControllerDescriptor* myDescriptor; 00127 00130 DtCruiseMissileLaunchControllerPSR* myProcessState; 00131 00132 }; 00133 00134 #endif