|
|
|
@ -23,10 +23,10 @@ void unitDeath(color_ostream& out, void* ptr);
|
|
|
|
|
void itemCreate(color_ostream& out, void* ptr);
|
|
|
|
|
void building(color_ostream& out, void* ptr);
|
|
|
|
|
void construction(color_ostream& out, void* ptr);
|
|
|
|
|
void syndrome(color_ostream& out, void* ptr);
|
|
|
|
|
|
|
|
|
|
command_result eventExample(color_ostream& out, vector<string>& parameters);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DFhackCExport command_result plugin_init(color_ostream &out, std::vector<PluginCommand> &commands) {
|
|
|
|
|
commands.push_back(PluginCommand("eventExample", "Sets up a few event triggers.",eventExample));
|
|
|
|
|
return CR_OK;
|
|
|
|
@ -40,6 +40,7 @@ command_result eventExample(color_ostream& out, vector<string>& parameters) {
|
|
|
|
|
EventManager::EventHandler itemHandler(itemCreate);
|
|
|
|
|
EventManager::EventHandler buildingHandler(building);
|
|
|
|
|
EventManager::EventHandler constructionHandler(construction);
|
|
|
|
|
EventManager::EventHandler syndromeHandler(syndrome);
|
|
|
|
|
Plugin* me = Core::getInstance().getPluginManager()->getPluginByName("eventExample");
|
|
|
|
|
EventManager::unregisterAll(me);
|
|
|
|
|
|
|
|
|
@ -53,6 +54,7 @@ command_result eventExample(color_ostream& out, vector<string>& parameters) {
|
|
|
|
|
EventManager::registerListener(EventManager::EventType::ITEM_CREATED, itemHandler, 1000, me);
|
|
|
|
|
EventManager::registerListener(EventManager::EventType::BUILDING, buildingHandler, 500, me);
|
|
|
|
|
EventManager::registerListener(EventManager::EventType::CONSTRUCTION, constructionHandler, 100, me);
|
|
|
|
|
EventManager::registerListener(EventManager::EventType::SYNDROME, syndromeHandler, 1, me);
|
|
|
|
|
out.print("Events registered.\n");
|
|
|
|
|
return CR_OK;
|
|
|
|
|
}
|
|
|
|
@ -91,3 +93,9 @@ void building(color_ostream& out, void* ptr) {
|
|
|
|
|
void construction(color_ostream& out, void* ptr) {
|
|
|
|
|
out.print("Construction created/destroyed: 0x%X\n", ptr);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void syndrome(color_ostream& out, void* ptr) {
|
|
|
|
|
EventManager::SyndromeData* data = (EventManager::SyndromeData*)ptr;
|
|
|
|
|
out.print("Syndrome started: unit %d, syndrome %d.\n", data->unitId, data->syndromeIndex);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|