![]() |
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 "vrfTaskAgent.h" 00010 #include <kyruntime.h> 00011 #include <bhaveSim/vrfEntityBot.h> 00012 00013 namespace BHAVE 00014 { 00016 class DT_DLL_bhaveSim DtGotoWaypointTaskAgent : public DtVrfTaskAgent 00017 { 00018 public: 00019 00020 DtGotoWaypointTaskAgent( 00021 DtVrfEntityBot* bot, 00022 const char* task, 00023 const char* arg1, 00024 const char* arg2, 00025 const char* arg3, 00026 const char* arg4, 00027 const char* command); 00028 00029 00030 virtual ~DtGotoWaypointTaskAgent(); 00031 00033 virtual void Clear(); 00034 00036 virtual bool Think(); 00037 00039 virtual bool HasFinished(); 00040 00041 virtual const char* GetId() { return myId; } 00042 virtual const char* GetCommand() { return myCommand; } 00043 00044 protected: 00045 DtGotoWaypointTaskAgent(const DtGotoWaypointTaskAgent&); 00046 DtGotoWaypointTaskAgent& operator=(const DtGotoWaypointTaskAgent&); 00047 00050 virtual DtVrfObject* lookupDestObject(); 00051 00053 virtual void setDestinationFromObject(); 00054 00055 static void destinationChangedCallback(DtVrfObject* obj, void* usr); 00056 virtual void processDestinationChanged(DtVrfObject* obj); 00057 00058 static void objectAboutToBeRemovedCallback(DtVrfObject* obj, void* usr); 00059 virtual void processObjectAboutToBeRemoved(DtVrfObject* obj); 00060 00062 virtual void onTeleport(); 00063 00064 protected: 00065 00066 Kaim::GotoAgent* myGotoAgent; 00067 KyResult myStatus; 00068 bool myFinishedStatus; 00069 unsigned int myRetryCount; 00070 00071 DtString myDestinationName; 00072 }; 00073 00074 } //namespace BHAVE 00075