fixes
This commit is contained in:
parent
7be75ce106
commit
a0f66f4fd0
5 changed files with 22 additions and 27 deletions
16
src/drops.rs
16
src/drops.rs
|
@ -147,8 +147,8 @@ struct CrateCollision {
|
|||
}
|
||||
|
||||
enum CollisionType {
|
||||
Player(Entity),
|
||||
Scene(Entity),
|
||||
Player,
|
||||
Scene,
|
||||
}
|
||||
|
||||
fn crate_collisions(
|
||||
|
@ -165,13 +165,13 @@ fn crate_collisions(
|
|||
match collision_event {
|
||||
CollisionEvent::Started(e1, e2, _) if crates.contains(e1) || crates.contains(e2) => {
|
||||
let (coll_type, crate_) = if scene_objs.contains(e1) {
|
||||
(CollisionType::Scene(*e1), e2)
|
||||
(CollisionType::Scene, e2)
|
||||
} else if scene_objs.contains(e2) {
|
||||
(CollisionType::Scene(*e2), e1)
|
||||
(CollisionType::Scene, e1)
|
||||
} else if *e2 == p {
|
||||
(CollisionType::Player(*e2), e1)
|
||||
(CollisionType::Player, e1)
|
||||
} else if *e1 == p {
|
||||
(CollisionType::Player(*e1), e2)
|
||||
(CollisionType::Player, e2)
|
||||
} else if crates.contains(e1) && crates.contains(e2) {
|
||||
continue;
|
||||
} else {
|
||||
|
@ -192,7 +192,7 @@ fn crate_collisions(
|
|||
|
||||
fn delete_on_env_coll(mut ev_colls: EventReader<CrateCollision>, mut commands: Commands) {
|
||||
for CrateCollision { coll_crate, with } in ev_colls.read() {
|
||||
if let CollisionType::Player(_) = with {
|
||||
if let CollisionType::Player = with {
|
||||
continue;
|
||||
}
|
||||
|
||||
|
@ -208,7 +208,7 @@ fn player_coll(
|
|||
mut commands: Commands,
|
||||
) {
|
||||
for CrateCollision { coll_crate, with } in ev_colls.read() {
|
||||
if let CollisionType::Scene(_) = with {
|
||||
if let CollisionType::Scene = with {
|
||||
continue;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,12 +1,15 @@
|
|||
use bevy::{app::AppExit, prelude::*};
|
||||
use bevy::prelude::*;
|
||||
|
||||
use crate::{game_state::GameTimer, GameState};
|
||||
use crate::{game_state::GameTimer, main_menu::button_color_system, GameState};
|
||||
pub fn game_over_menu_plugin(app: &mut App) {
|
||||
app.add_systems(
|
||||
OnEnter(GameState::GameOver),
|
||||
game_over_menu_setup.in_set(GameOverMenuSet),
|
||||
)
|
||||
.add_systems(Update, button_action.in_set(GameOverMenuSet))
|
||||
.add_systems(
|
||||
Update,
|
||||
(button_action, button_color_system).in_set(GameOverMenuSet),
|
||||
)
|
||||
.add_systems(OnExit(GameState::GameOver), exit_menu);
|
||||
}
|
||||
|
||||
|
@ -103,7 +106,6 @@ fn game_over_menu_setup(mut commands: Commands, timer: Query<&GameTimer>) {
|
|||
|
||||
fn button_action(
|
||||
interaction_query: Query<(&Interaction, &ButtonAction), (Changed<Interaction>, With<Button>)>,
|
||||
mut ev_exit: EventWriter<AppExit>,
|
||||
mut game_state: ResMut<NextState<GameState>>,
|
||||
) {
|
||||
for (interaction, action) in &interaction_query {
|
||||
|
|
12
src/main.rs
12
src/main.rs
|
@ -1,14 +1,12 @@
|
|||
#![allow(clippy::type_complexity)]
|
||||
use crate::main_menu::main_menu_plugin;
|
||||
use bevy::{
|
||||
prelude::*,
|
||||
sprite::{MaterialMesh2dBundle, Mesh2dHandle},
|
||||
};
|
||||
use bevy::prelude::*;
|
||||
use bevy_rapier2d::prelude::*;
|
||||
use drops::spawner_plugin;
|
||||
use game_over_menu::{game_over_menu_plugin, GameOverMenuSet};
|
||||
use game_state::state_and_ui_plugin;
|
||||
use main_menu::MainMenuSet;
|
||||
use player::{player_plugin, GameOverEvent, LifeChangeEvent};
|
||||
use player::{player_plugin, GameOverEvent};
|
||||
use scene::scene_plugin;
|
||||
|
||||
const METER: f32 = 48.;
|
||||
|
@ -28,7 +26,7 @@ fn main() {
|
|||
rapier_config.timestep_mode = TimestepMode::Variable {
|
||||
max_dt: 1.0 / 60.0,
|
||||
time_scale: 1.0,
|
||||
substeps: 4,
|
||||
substeps: 1,
|
||||
};
|
||||
App::new()
|
||||
.add_plugins(DefaultPlugins)
|
||||
|
@ -63,7 +61,7 @@ fn handle_game_over(
|
|||
mut ev_gameover: EventReader<GameOverEvent>,
|
||||
mut game_state: ResMut<NextState<GameState>>,
|
||||
) {
|
||||
for ev in ev_gameover.read() {
|
||||
for _ in ev_gameover.read() {
|
||||
game_state.set(GameState::GameOver)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
use bevy::{app::AppExit, prelude::*};
|
||||
|
||||
use crate::game_over_menu::GameOverMenuSet;
|
||||
use crate::GameState;
|
||||
|
||||
#[derive(SystemSet, Debug, Clone, PartialEq, Eq, Hash)]
|
||||
|
@ -12,12 +11,7 @@ pub fn main_menu_plugin(app: &mut App) {
|
|||
setup_main_menu_ui.in_set(MainMenuSet),
|
||||
)
|
||||
.add_systems(Update, button_action.in_set(MainMenuSet))
|
||||
.add_systems(
|
||||
Update,
|
||||
button_color_system
|
||||
.in_set(MainMenuSet)
|
||||
.in_set(GameOverMenuSet),
|
||||
)
|
||||
.add_systems(Update, button_color_system.in_set(MainMenuSet))
|
||||
.add_systems(OnExit(GameState::MainMenu), exit_menu.in_set(MainMenuSet));
|
||||
}
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
use bevy::{
|
||||
prelude::*,
|
||||
sprite::{MaterialMesh2dBundle, Mesh2dHandle},
|
||||
utils::{HashMap, HashSet},
|
||||
utils::HashSet,
|
||||
};
|
||||
use bevy_rapier2d::prelude::*;
|
||||
|
||||
|
@ -14,6 +14,7 @@ pub struct Player {
|
|||
lives: u8,
|
||||
}
|
||||
|
||||
#[allow(unused)]
|
||||
#[derive(Event)]
|
||||
pub enum LifeChangeEvent {
|
||||
Gained,
|
||||
|
|
Loading…
Reference in a new issue