18 class DtRwSpawnTemplateList;
33 virtual bool loadTemplates(
const DtFilename& filename);
40 virtual void updateSpawnSinkTemplates(
50 static void preScenarioLoadCallback(
DtScenario& scenario,
55 static void preScenarioRewindCallback(
void* usrData);
58 static void preScenarioImportCallback(
DtScenario& scenario,
60 virtual void preScenarioImport(
DtScenario& scenario);
63 static void postScenarioImportCallback(
const DtScenario& scenario,
65 virtual void postScenarioImport(
const DtScenario& scenario);
67 virtual DtUUID uuidForTemplateName(
const DtString& templateName)
const;
69 virtual void addSpawnPoint(
const DtUUID& templateUuid,
const DtUUID& spawnPointUuid);
71 virtual void removeSpawnPoint(
const DtUUID& templateUuid,
const DtUUID& spawnPointUuid);
80 virtual void clearTemplates();
88 static void requestSpawnListCallback(
DtSimMessage* msg,
void* usr);
95 virtual void sendSpawnListMessage(
const DtSimulationAddress& recipient,
96 bool initialSend =
false);
101 static void addSinkPointCallback(
DtSimMessage* msg,
void* usr);
107 static void requestSpawnDataCallback(
DtSimMessage* msg,
void* usr);
108 virtual void processRequestSpawnData(
DtSimMessage* msg);
113 static void updateSpawnTemplateCallback(
DtSimMessage* msg,
void* usr);
114 virtual void processUpdateSpawnTemplate(
DtSimMessage* msg);
119 static void createTemplateCallback(
DtSimMessage* msg,
void* usr);
125 static void deleteSpawnTemplateCallback(
DtSimMessage* msg,
void* usr);
126 virtual void processDeleteSpawnTemplate(
DtSimMessage* msg);
134 static void objectRemovedCallback(
DtVrfObject *
object,
void *usr);
135 virtual void processObjectRemoved(
DtVrfObject *
object);
143 virtual void removeSpawnTemplateAsParentOfSinkPoint(
const DtUUID& templateUUID,
const DtUUID& sinkPoint);
144 virtual void addSpawnTemplateAsParentOfSinkPoint(
const DtUUID& templateUUID,
const DtUUID& sinkPoint);
148 virtual void resolveUnmatchedSpawnPoints();
152 typedef void (*DtClearTemplateUUIDFunction)(
void* userData);
153 typedef void (*DtRefreshSpawnDataFunction)(
void* userData);
155 virtual void addClearTemplateUUIDEntry(
156 DtClearTemplateUUIDFunction fcn,
void* userData);
157 virtual void removeClearTemplateUUIDEntry(
158 DtClearTemplateUUIDFunction fcn,
void* userData);
160 virtual void addRefreshSpawnDataEntry(
161 DtRefreshSpawnDataFunction fcn,
void* userData);
162 virtual void removeRefreshSpawnDataEntry(
163 DtRefreshSpawnDataFunction fcn,
void* userData);