13b428b81c
OnboardingPlugin spawns a centered welcome banner at PostStartup when Settings.first_run_complete is false. Any key or mouse press dismisses it, sets the flag, and persists settings.json so returning players never see it again. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
39 lines
1.3 KiB
Rust
39 lines
1.3 KiB
Rust
use bevy::prelude::*;
|
|
use solitaire_engine::{
|
|
AchievementPlugin, AnimationPlugin, AudioPlugin, CardPlugin, ChallengePlugin,
|
|
DailyChallengePlugin, GamePlugin, HelpPlugin, InputPlugin, OnboardingPlugin, PausePlugin,
|
|
ProgressPlugin, SettingsPlugin, StatsPlugin, TablePlugin, TimeAttackPlugin, WeeklyGoalsPlugin,
|
|
};
|
|
|
|
fn main() {
|
|
App::new()
|
|
.add_plugins(
|
|
DefaultPlugins.set(WindowPlugin {
|
|
primary_window: Some(Window {
|
|
title: "Solitaire Quest".into(),
|
|
resolution: (1280.0, 800.0).into(),
|
|
..default()
|
|
}),
|
|
..default()
|
|
}),
|
|
)
|
|
.add_plugins(GamePlugin)
|
|
.add_plugins(TablePlugin)
|
|
.add_plugins(CardPlugin)
|
|
.add_plugins(InputPlugin)
|
|
.add_plugins(AnimationPlugin)
|
|
.add_plugins(StatsPlugin::default())
|
|
.add_plugins(ProgressPlugin::default())
|
|
.add_plugins(AchievementPlugin::default())
|
|
.add_plugins(DailyChallengePlugin)
|
|
.add_plugins(WeeklyGoalsPlugin)
|
|
.add_plugins(ChallengePlugin)
|
|
.add_plugins(TimeAttackPlugin)
|
|
.add_plugins(HelpPlugin)
|
|
.add_plugins(PausePlugin)
|
|
.add_plugins(SettingsPlugin::default())
|
|
.add_plugins(AudioPlugin)
|
|
.add_plugins(OnboardingPlugin)
|
|
.run();
|
|
}
|