![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2004 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: disaggregatedMoveToController.h,v $ $Revision: 1.1 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00015 00016 #ifndef disaggregatedMoveToController_H_ 00017 #define disaggregatedMoveToController_H_ 00018 00019 #include "vrfobjcore/singleTaskControllerComponent.h" 00020 00021 class DtSimMessage; 00022 class DtMoveToTask; 00023 00037 #include "vrfmodel/vrfmodelDefines.h" 00038 class DT_DLL_vrfmodel DtDisaggregatedMoveToController : public DtSingleTaskControllerComponent 00039 { 00040 public: 00041 00044 DtDisaggregatedMoveToController(const DtString& name, 00045 DtVrfObject* owner, 00046 DtSimManager* simManager, 00047 DtComponentDescriptor* desc = 0, 00048 DtReaderWriterRegistry* parentRegistry = 0); 00049 00050 virtual ~DtDisaggregatedMoveToController(); 00051 00052 virtual void tick(); 00053 00056 virtual DtString type() const; 00057 00060 virtual void registerTaskMsgCallbacks(); 00061 00063 virtual void clearTask(); 00064 00068 static void moveToTaskCallback(DtSimMessage * msg, void * usr); 00069 00071 static void taskCompleteReportCallback(DtSimMessage * msg, void * usr); 00072 00075 static void waypointMovedCallback(DtVrfObject* obj, void * usr); 00076 00080 static DtSimComponent * creator(const DtString& name, 00081 DtVrfObject* owner, 00082 DtSimManager* simManager, 00083 DtComponentDescriptor* desc = 0, 00084 DtReaderWriterRegistry* parentRegistry = 0); 00085 00086 protected: 00087 00089 virtual void onWaypointMoved(DtVrfObject* obj); 00090 00094 virtual void onMoveToTask(DtSimMessage * msg); 00095 00099 virtual void onTaskComplete(DtSimMessage * msg); 00100 00102 virtual void startMoveToBehavior(const DtMoveToTask& moveToTask); 00103 00104 private: 00105 00107 DtDisaggregatedMoveToController(const DtDisaggregatedMoveToController& orig); 00108 00110 DtDisaggregatedMoveToController& operator=(const DtDisaggregatedMoveToController& orig); 00111 00112 bool myFirstTick; 00113 }; 00114 00115 #endif