feat(engine): add AnimationPlugin with slide, cascade, and toast (Phase 3F)
- CardAnim component lerps cards from old to new position on every move - card_plugin now adds CardAnim instead of teleporting cards on state change - Snap-back on invalid drag reuses the same mechanism (StateChangedEvent) - Win cascade flies all 52 cards off-screen with staggered delay on GameWonEvent - Achievement toast scaffold wired to AchievementUnlockedEvent (Phase 5 content) - Fix input_plugin test: click Queen's visible strip, not geometric centre Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -41,3 +41,9 @@ pub struct GameWonEvent {
|
||||
/// Fired when a card's face-up state changes during gameplay.
|
||||
#[derive(Event, Debug, Clone, Copy)]
|
||||
pub struct CardFlippedEvent(pub u32);
|
||||
|
||||
/// Achievement unlocked notification — name of the achievement.
|
||||
///
|
||||
/// Uses `String` as a placeholder; replaced with `AchievementRecord` in Phase 5.
|
||||
#[derive(Event, Debug, Clone)]
|
||||
pub struct AchievementUnlockedEvent(pub String);
|
||||
|
||||
Reference in New Issue
Block a user