* [Game][Player] Pull out graphics_items out of player_logic
Took 25 seconds
Took 9 minutes
* [Game] Move graphics files into game_graphics
Took 1 minute
Took 2 minutes
Took 23 seconds
Took 1 minute
Took 2 seconds
* Include.
Took 4 minutes
Took 3 minutes
Took 4 minutes
Took 1 minute
Took 3 minutes
---------
Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
Non-QObject polymorphic interface with setShortcutsActive(), setShortcutsInactive(), and retranslateUi(). Uses regular multiple inheritance to avoid diamond inheritance with Qt's MOC.
All zone menus, SayMenu, and AbstractCounter implement this interface. PlayerMenu manages them via a managedComponents list with two template helpers (addManagedMenu/registerManagedComponent), replacing individual if-guarded lifecycle calls with a single polymorphic loop.
SayMenu now owns its shortcut and translation lifecycle instead of having PlayerMenu manage its title and shortcuts externally.
Counters are iterated via Player::getCounters() rather than managedComponents to avoid duplicating the authoritative owner's map.