Applies the given enhancements to a structure
Override, do not call this directly, use startDraw()
Internal helper to create an empty cache
Recomputes all enhancements and applies it to the buildings
Updates the game system, override to perform logic
Computes and accumulates global building enhancements