13 #include <kyruntime.h>
15 #define KYCRTL_PUBLISH_ROUTE_REFRESH_RATE 10 //debug route will be checked every 10 ticks
34 class KynapseDescriptor;
84 virtual void registerTaskMsgCallbacks();
88 virtual void unregisterTaskMsgCallbacks();
93 static void userTaskCallback(
DtSimMessage * msg,
void * usr);
94 static void fleeTaskCallback(
DtSimMessage * msg,
void * usr);
97 static void hideTaskCallback(
DtSimMessage * msg,
void * usr);
100 static void wanderTaskCallback(
DtSimMessage * msg,
void * usr);
107 virtual void processUserTask();
118 static void setBhaveMovementModeCallback(
DtSimMessage* msg,
void* usr);
122 virtual DtBoolean checkTick();
125 virtual void NotifyTaskCompleted(
bool success =
true);
128 virtual void clearTask();
135 virtual void preFirstTickInit();
138 virtual void processSetBhaveMovementMode(
DtSimMessage* msg);
141 void drawDebugRoutes();
146 virtual DtBoolean createPorts();
147 virtual DtBoolean createPortGroups();
149 virtual bool createKynapsePSR();
151 static void aboutToSaveCheckpointCallback(
DtScenario& scn,
void* usr);
154 virtual void processAboutToSaveCheckpoint();
156 static void postLoadCheckpointCallback(
const DtScenario& scn,
void* usr);
157 static void postRewindCallback(
void* usr);
160 virtual void processPostLoadCheckpoint();
162 static void objectAboutToBeRemovedCallback(
DtVrfObject*
object,
void* usr);
163 virtual void processObjectAboutToBeRemoved(
DtVrfObject*
object);
167 virtual void processObjectDestroyed(
DtVrfObject* obj);
172 virtual bool updateDebugRoute();
176 virtual void clearDebugRoute();
179 virtual void setBhaveMovementMode(
const DtString & movementMode);
183 virtual bool IsExecutingBHAVETask();
188 virtual DtBoolean applyKynapseRecommendations();
191 virtual DtBoolean deactivateOutputControl() {
return false;};