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

Function getManager

library/modules/EventManager.cpp:165–205  ·  view source on GitHub ↗

integrate new events into this function, and no longer worry about syncing the enum list with the `eventManager` array

Source from the content-addressed store, hash-verified

163
164// integrate new events into this function, and no longer worry about syncing the enum list with the `eventManager` array
165eventManager_t getManager(EventType::EventType t) {
166 switch (t) {
167 case EventType::TICK:
168 return manageTickEvent;
169 case EventType::JOB_INITIATED:
170 return manageJobInitiatedEvent;
171 case EventType::JOB_STARTED:
172 return manageJobStartedEvent;
173 case EventType::JOB_COMPLETED:
174 return manageJobCompletedEvent;
175 case EventType::UNIT_NEW_ACTIVE:
176 return manageNewUnitActiveEvent;
177 case EventType::UNIT_DEATH:
178 return manageUnitDeathEvent;
179 case EventType::ITEM_CREATED:
180 return manageItemCreationEvent;
181 case EventType::BUILDING:
182 return manageBuildingEvent;
183 case EventType::CONSTRUCTION:
184 return manageConstructionEvent;
185 case EventType::SYNDROME:
186 return manageSyndromeEvent;
187 case EventType::INVASION:
188 return manageInvasionEvent;
189 case EventType::INVENTORY_CHANGE:
190 return manageEquipmentEvent;
191 case EventType::REPORT:
192 return manageReportEvent;
193 case EventType::UNIT_ATTACK:
194 return manageUnitAttackEvent;
195 case EventType::UNLOAD:
196 return manageUnloadEvent;
197 case EventType::INTERACTION:
198 return manageInteractionEvent;
199 case EventType::EVENT_MAX:
200 return nullptr;
201 //default:
202 //we don't do this... because then the compiler wouldn't error for missing cases in the enum
203 }
204 return nullptr;
205}
206
207std::array<eventManager_t,EventType::EVENT_MAX> compileManagerArray() {
208 std::array<eventManager_t, EventType::EVENT_MAX> managers{};

Callers 1

compileManagerArrayFunction · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected