MCPcopy Create free account
hub / github.com/DFHack/dfhack / enableEvent

Function enableEvent

plugins/eventful.cpp:278–295  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

276static std::array<handler_t,EventManager::EventType::EVENT_MAX> eventHandlers;
277
278static void enableEvent(int evType,int freq)
279{
280 if (freq < 0)
281 return;
282 CHECK_INVALID_ARGUMENT(evType >= 0 && evType < EventManager::EventType::EVENT_MAX &&
283 evType != EventManager::EventType::TICK);
284 EventManager::EventHandler::callback_t fun_ptr = eventHandlers[evType];
285 EventManager::EventType::EventType typeToEnable=static_cast<EventManager::EventType::EventType>(evType);
286
287 int oldFreq = enabledEventManagerEvents[typeToEnable];
288 if (oldFreq != -1) {
289 if (freq >= oldFreq)
290 return;
291 EventManager::unregister(typeToEnable,EventManager::EventHandler(plugin_self,fun_ptr,oldFreq));
292 }
293 EventManager::registerListener(typeToEnable,EventManager::EventHandler(plugin_self,fun_ptr,freq));
294 enabledEventManagerEvents[typeToEnable] = freq;
295}
296DFHACK_PLUGIN_LUA_FUNCTIONS{
297 DFHACK_LUA_FUNCTION(enableEvent),
298 DFHACK_LUA_END

Callers

nothing calls this directly

Calls 1

EventHandlerClass · 0.85

Tested by

no test coverage detected