622b35a3bf
Phase 6 part 2 (partial): - daily_seed_for(date) and PlayerProgress::record_daily_completion in solitaire_data, with streak logic that increments on consecutive days, resets on a skipped day, and is idempotent on same-day re-completions. - DailyChallengePlugin tracks today's seed, awards +100 XP and updates the streak when the player wins a game whose seed matches. Pressing C starts a new game with the daily seed. - LevelUpEvent toast in AnimationPlugin announces level changes. - AchievementContext gains daily_challenge_streak; daily_devotee achievement unlocks at streak >= 7. AchievementPlugin reads ProgressResource and runs after ProgressUpdate. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
33 lines
1.2 KiB
Rust
33 lines
1.2 KiB
Rust
//! Bevy integration layer for Solitaire Quest.
|
|
|
|
pub mod achievement_plugin;
|
|
pub mod animation_plugin;
|
|
pub mod card_plugin;
|
|
pub mod daily_challenge_plugin;
|
|
pub mod events;
|
|
pub mod game_plugin;
|
|
pub mod input_plugin;
|
|
pub mod layout;
|
|
pub mod progress_plugin;
|
|
pub mod resources;
|
|
pub mod stats_plugin;
|
|
pub mod table_plugin;
|
|
|
|
pub use achievement_plugin::{AchievementPlugin, AchievementsResource};
|
|
pub use daily_challenge_plugin::{
|
|
DailyChallengeCompletedEvent, DailyChallengePlugin, DailyChallengeResource,
|
|
};
|
|
pub use progress_plugin::{LevelUpEvent, ProgressPlugin, ProgressResource, ProgressUpdate};
|
|
pub use animation_plugin::{AnimationPlugin, CardAnim};
|
|
pub use card_plugin::{CardEntity, CardLabel, CardPlugin};
|
|
pub use events::{
|
|
AchievementUnlockedEvent, CardFlippedEvent, DrawRequestEvent, GameWonEvent, MoveRequestEvent,
|
|
NewGameRequestEvent, StateChangedEvent, UndoRequestEvent,
|
|
};
|
|
pub use game_plugin::{GameMutation, GamePlugin};
|
|
pub use input_plugin::InputPlugin;
|
|
pub use layout::{compute_layout, Layout, LayoutResource};
|
|
pub use resources::{DragState, GameStateResource, SyncStatus, SyncStatusResource};
|
|
pub use stats_plugin::{StatsPlugin, StatsResource, StatsScreen, StatsUpdate};
|
|
pub use table_plugin::{PileMarker, TableBackground, TablePlugin};
|