![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2010 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 00006 #pragma once 00007 00008 #include <bhaveSim/bhaveSimDefines.h> 00009 #include <bhaveSim/kynapsePSR.h> 00010 00011 namespace BHAVE 00012 { 00013 00014 class DtVrfEntityBot; 00015 00018 class DT_DLL_bhaveSim DtVrfTaskAgent 00019 { 00020 public: 00021 00022 DtVrfTaskAgent( 00023 DtVrfEntityBot* bot, 00024 const char* task, 00025 const char* arg1, 00026 const char* arg2, 00027 const char* arg3, 00028 const char* arg4, 00029 const char* command); 00030 00031 virtual ~DtVrfTaskAgent(); 00032 00034 virtual void Clear() = 0; 00035 00037 virtual bool Think() = 0; 00038 00040 virtual bool HasFinished() = 0; 00041 00043 virtual void onTeleport() {}; 00044 00046 virtual void encodeTask(DtKynapsePSR*) {}; 00047 00049 virtual void decodeTask(DtKynapsePSR*) {}; 00050 00051 virtual const char* GetId() { return myId; } 00052 virtual const char* GetCommand() { return myCommand; } 00053 00054 protected: 00055 char* myId; 00056 char* myCommand; 00057 00058 DtVrfEntityBot* myBot; 00059 }; 00060 00061 template<class T> 00062 DtVrfTaskAgent* createDtVRFTaskAgent(DtVrfEntityBot* bot, const char* task, 00063 const char* arg1, const char* arg2, 00064 const char* arg3, const char* arg4, 00065 const char* command) 00066 { 00067 return new T(bot, task, arg1, arg2, arg3, arg4, command); 00068 } 00069 00070 } //namespace BHAVE 00071