* Introduce generic IAnimatedItem interface for scene animations
GameScene's shared 10ms animation timer previously only knew about
CardItems (cardsToAnimate). Generalize it so any scene item can tick on
the shared timer instead of owning its own QTimer:
- New IAnimatedItem interface with a single animationEvent() tick.
- GameScene tracks animated items in a QHash keyed by QObject and
auto-unregisters items when they are destroyed, so an item deleted
mid-animation (concede, removePlayer, deleteLater) can never leave a
dangling pointer in the set.
- GameScene::~GameScene disconnects incoming connections before the
animation timer is deleted; all timer stops are null-guarded so
destruction ordering no longer matters.
- AbstractCardItem implements IAnimatedItem with a no-op tick so the
existing tap-animation registration path keeps working; CardItem
overrides it with the real rotate animation.
Took 5 minutes
* Add Enable/Disable all animations buttons to settings
The animation settings group gets two push buttons that toggle every
per-effect animation checkbox at once. The base branch carries the
buttons and the shared slots; per-effect toggles (life counter,
battlefield, arrow draw) are added by the feature branches on top.
---------
Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
* [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>
2026-06-09 09:51:13 +02:00
Renamed from cockatrice/src/game/board/card_item.h (Browse further)