Skip to content

Commit

Permalink
Fix missed renames (#274)
Browse files Browse the repository at this point in the history
  • Loading branch information
benfrankel committed Aug 15, 2024
1 parent 95ad71d commit bdbdb9b
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 18 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,10 +50,10 @@ This template comes with a basic project structure that you may find useful:
| -------------------------------------------------- | ------------------------------------------------------------------ |
| [`src/lib.rs`](./src/lib.rs) | App setup |
| [`src/asset_tracking.rs`](./src/asset_tracking.rs) | A high-level way to load collections of asset handles as resources |
| [`src/audio/`](./src/audio) | Commands for playing SFX and music |
| [`src/audio/`](./src/audio) | Marker components for sound effects and music |
| [`src/demo/`](./src/demo) | Example game mechanics & content (replace with your own code) |
| [`src/dev_tools.rs`](./src/dev_tools.rs) | Dev tools for dev builds (press \` aka backtick to toggle) |
| [`src/screens/`](./src/screens) | Splash screen, title screen, playing screen, etc. |
| [`src/screens/`](./src/screens) | Splash screen, title screen, gameplay screen, etc. |
| [`src/theme/`](./src/theme) | Reusable UI widgets & theming |

Feel free to move things around however you want, though.
Expand Down
18 changes: 9 additions & 9 deletions docs/design.md
Original file line number Diff line number Diff line change
Expand Up @@ -257,7 +257,7 @@ If you have many interactions that only change a state, consider using the follo

```rust
fn spawn_button(mut commands: Commands) {
commands.button("Play the game").observe(enter_state(Screen::Playing));
commands.button("Play the game").observe(enter_state(Screen::Gameplay));
}

fn enter_state<S: FreelyMutableState>(
Expand Down Expand Up @@ -310,8 +310,8 @@ pub enum Screen {
Loading,
Title,
Credits,
Playing,
GameOver,
Gameplay,
Victory,
Leaderboard,
MultiplayerLobby,
SecretMinigame,
Expand All @@ -327,16 +327,16 @@ For each screen, create a plugin that handles the setup and teardown of the scre
```rust
// game_over.rs
pub(super) fn plugin(app: &mut App) {
app.add_systems(OnEnter(Screen::GameOver), show_game_over_screen);
app.add_systems(OnExit(Screen::GameOver), reset_highscore);
app.add_systems(OnEnter(Screen::Victory), show_victory_screen);
app.add_systems(OnExit(Screen::Victory), reset_highscore);
}

fn show_game_over_screen(mut commands: Commands) {
fn show_victory_screen(mut commands: Commands) {
commands.
.ui_root()
.insert(StateScoped(Screen::GameOver))
.insert((Name::new("Victory screen"), StateScoped(Screen::Victory)))
.with_children(|parent| {
// Add UI elements
// Spawn UI elements.
});
}

Expand All @@ -347,7 +347,7 @@ fn reset_highscore(mut highscore: ResMut<Highscore>) {

### Reasoning

"Screen" is not meant as a physical screen, but as "what kind of screen is the game showing right now", e.g. the title screen, the loading screen, the playing screen, the game over screen, etc.
"Screen" is not meant as a physical screen, but as "what kind of screen is the game showing right now", e.g. the title screen, the loading screen, the credits screen, the victory screen, etc.
These screens usually correspond to different logical states of your game that have different systems running.

By using dedicated `State`s for each screen, you can easily manage systems and entities that are only relevant for a certain screen.
Expand Down
2 changes: 1 addition & 1 deletion src/screens/gameplay.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
//! The screen state for the main game loop.
//! The screen state for the main gameplay.

use bevy::{input::common_conditions::input_just_pressed, prelude::*};

Expand Down
12 changes: 6 additions & 6 deletions src/screens/title.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,27 +5,27 @@ use bevy::prelude::*;
use crate::{screens::Screen, theme::prelude::*};

pub(super) fn plugin(app: &mut App) {
app.add_systems(OnEnter(Screen::Title), show_title_screen);
app.add_systems(OnEnter(Screen::Title), spawn_title_screen);
}

fn show_title_screen(mut commands: Commands) {
fn spawn_title_screen(mut commands: Commands) {
commands
.ui_root()
.insert(StateScoped(Screen::Title))
.with_children(|children| {
children.button("Play").observe(enter_playing);
children.button("Credits").observe(enter_credits);
children.button("Play").observe(enter_gameplay_screen);
children.button("Credits").observe(enter_credits_screen);

#[cfg(not(target_family = "wasm"))]
children.button("Exit").observe(exit_app);
});
}

fn enter_playing(_trigger: Trigger<OnPress>, mut next_screen: ResMut<NextState<Screen>>) {
fn enter_gameplay_screen(_trigger: Trigger<OnPress>, mut next_screen: ResMut<NextState<Screen>>) {
next_screen.set(Screen::Gameplay);
}

fn enter_credits(_trigger: Trigger<OnPress>, mut next_screen: ResMut<NextState<Screen>>) {
fn enter_credits_screen(_trigger: Trigger<OnPress>, mut next_screen: ResMut<NextState<Screen>>) {
next_screen.set(Screen::Credits);
}

Expand Down

0 comments on commit bdbdb9b

Please sign in to comment.