1
1
mod projectile;
2
2
mod physics;
3
- mod menu;
4
- mod pause;
5
3
mod bird;
6
4
mod util;
7
5
mod level;
6
+ mod ui;
8
7
9
8
use std:: path:: PathBuf ;
10
9
@@ -14,8 +13,7 @@ use clap::{Parser, ValueEnum};
14
13
use level:: LevelPlugin ;
15
14
use physics:: PhysicsPlugin ;
16
15
use projectile:: { ProjectileLauncher , ProjectilePlugin } ;
17
- use menu:: MenuPlugin ;
18
- use pause:: PausePlugin ;
16
+ use ui:: UiPlugin ;
19
17
20
18
#[ derive( Parser , Debug ) ]
21
19
#[ clap( author, version, about, long_about = None ) ]
@@ -59,20 +57,18 @@ fn main() {
59
57
} , ) ,
60
58
PhysicsPlugin ,
61
59
ProjectilePlugin ,
62
- MenuPlugin ,
63
- PausePlugin ,
64
60
BirdPlugin ,
61
+ UiPlugin ,
65
62
match args. level {
66
63
Some ( level) => LevelPlugin { default_level : PathBuf :: from ( level) } ,
67
64
None => LevelPlugin :: default ( )
68
65
}
69
66
) ) ;
70
67
app. add_systems ( Startup , setup_sys) ;
71
- app. add_systems ( Update , ( (
72
- player_move_sys,
73
- pause_menu_listener_sys
74
- ) . run_if ( in_state ( GameState :: Game ) ) ,
75
- ) ) ;
68
+ app. add_systems ( Update ,
69
+ ( player_move_sys)
70
+ . run_if ( in_state ( GameState :: Game ) ) ,
71
+ ) ;
76
72
77
73
app. init_state :: < GameState > ( ) ;
78
74
if let Some ( state) = args. initial_state {
@@ -86,15 +82,11 @@ fn main() {
86
82
pub ( crate ) enum GameState {
87
83
Game ,
88
84
Pause ,
89
- #[ default]
90
85
Menu ,
86
+ #[ default]
91
87
Splash ,
92
88
}
93
89
94
- // a label component to tell us which things are loaded in the Game GameState
95
- #[ derive( Component ) ]
96
- struct OnGameScreen ;
97
-
98
90
#[ derive( Component ) ]
99
91
struct Player {
100
92
health : i32
@@ -118,9 +110,7 @@ fn setup_sys(
118
110
Mesh2d ( meshes. add ( Annulus :: new ( 25.0 , 50.0 ) ) ) ,
119
111
MeshMaterial2d ( materials. add ( Color :: WHITE ) ) ,
120
112
Transform :: from_xyz ( 0. , - window_height / 2. + 75. , 0. ) ,
121
- OnGameScreen ,
122
113
) ) ;
123
-
124
114
}
125
115
126
116
fn player_move_sys (
@@ -139,60 +129,4 @@ fn player_move_sys(
139
129
player_tf. translation . x = ( player_tf. translation . x + move_distance) . min ( width / 2. )
140
130
}
141
131
}
142
- }
143
-
144
- fn pause_menu_listener_sys (
145
- keys : Res < ButtonInput < KeyCode > > ,
146
- mut game_state : ResMut < NextState < GameState > >
147
- ) {
148
- if keys. just_pressed ( KeyCode :: Escape ) {
149
- game_state. set ( GameState :: Pause ) ;
150
- info ! ( "game paused" ) ;
151
- }
152
- }
153
-
154
- // fn pause_menu_listener_sys(
155
- // keys: Res<ButtonInput<KeyCode>>,
156
- // mut game_state: ResMut<NextState<GameState>>,
157
- // mut menu_state: ResMut<NextState<MenuState>>
158
- // ) {
159
- // if keys.just_pressed(KeyCode::Escape) {
160
- // match game_state {
161
- // GameState::Game => {
162
- // game_state.set(GameState::Pause);
163
- // info!("game state changed to paused!");
164
- // }
165
- // GameState::Menu => {
166
- // match menu_state {
167
- // MenuState::MainMenu => {
168
- // menu_state.set(MenuState::Disabled);
169
- // game_state.set(GameState::Game);
170
- // info!("menu state is now diabled, and game state is game");
171
- // }
172
- // MenuState::Settings => {
173
- // menu_state.set(MenuState::MainMenu);
174
- // info!("menu state is now main menu");
175
- // }
176
- // _ => {
177
- // panic!("HOW DID WE GET HERE???");
178
- // }
179
- // }
180
- // }
181
- // GameState::Pause => {
182
- // info!("THIS NEEDS DOING YAS COME ON");
183
- // }
184
- // GameState::Splash => {
185
- // // do nothing lol
186
- // info!("HAH silly, u can't exit the splash screen, just wait.");
187
- // }
188
- // }
189
- // }
190
- // }
191
-
192
- // stole this directly from an example but it seems a sensible way of removing
193
- // unneeded Entities with a given Component indiscriminantly
194
- fn despawn_screen < T : Component > ( to_despawn : Query < Entity , With < T > > , mut commands : Commands ) {
195
- for entity in & to_despawn {
196
- commands. entity ( entity) . despawn_recursive ( ) ;
197
- }
198
- }
132
+ }
0 commit comments