mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-04-14 08:23:52 +00:00
- split applyUpdateObjectBlock into handleCreateObject, handleValuesUpdate, handleMovementUpdate - extract concern helpers — createEntityFromBlock, applyPlayerTransportState, applyUnitFieldsOnCreate/OnUpdate, applyPlayerStatFields, dispatchEntitySpawn, trackItemOnCreate, updateItemOnValuesUpdate, syncClassicAurasFromFields, detectPlayerMountChange, updateNonPlayerTransportAttachment - UnitFieldIndices, PlayerFieldIndices, UnitFieldUpdateResult structs with static resolve() — eliminate repeated fieldIndex() calls - IObjectTypeHandler strategy interface; concrete handlers UnitTypeHandler, PlayerTypeHandler, GameObjectTypeHandler, ItemTypeHandler, CorpseTypeHandler registered in typeHandlers_ map; handleCreateObject and handleValuesUpdate now dispatch via getTypeHandler() — adding a new object type requires zero changes to existing handler methods - PendingEvents member bus; all 27 inline owner_.fireAddonEvent() calls in the update path replaced with pendingEvents_.emit(); events flushed via flushPendingEvents() at the end of each handler, decoupling field-parse logic from the addon callback system entity_controller.cpp: 1520-line monolith → longest method ~200 lines, cyclomatic complexity ~180 → ~5; zero duplicated CREATE/VALUES blocks |
||
|---|---|---|
| .. | ||
| addons | ||
| audio | ||
| auth | ||
| core | ||
| game | ||
| network | ||
| pipeline | ||
| platform | ||
| rendering | ||
| third_party | ||
| ui | ||