Compare commits

..

2 Commits

Author SHA1 Message Date
3fe46fd116 Setup basic resources 2021-07-12 23:01:35 -05:00
bc5eb9b006 Implement basic player plugin 2021-07-12 22:56:00 -05:00
4 changed files with 37 additions and 9 deletions

View File

@ -1,12 +1,21 @@
mod components;
mod plugins;
mod resources;
mod systems;
use bevy::prelude::*;
use systems::*;
mod prelude {
pub use crate::components::*;
pub use crate::plugins::*;
pub use crate::resources::*;
pub use crate::systems::*;
pub use bevy::prelude::*;
}
use prelude::*;
fn main() {
App::build()
.add_startup_system(add_player.system())
.add_system(greet_player.system())
.add_plugins(DefaultPlugins)
.add_plugin(PlayerPlugin)
.run();
}

11
src/plugins/mod.rs Normal file
View File

@ -0,0 +1,11 @@
use crate::prelude::*;
pub struct PlayerPlugin;
impl Plugin for PlayerPlugin {
fn build(&self, app: &mut AppBuilder) {
app.insert_resource(GreetTimer(Timer::from_seconds(2.0, true)))
.add_startup_system(add_player.system())
.add_system(greet_player.system());
}
}

3
src/resources/mod.rs Normal file
View File

@ -0,0 +1,3 @@
use crate::prelude::*;
pub struct GreetTimer(pub Timer);

View File

@ -1,5 +1,4 @@
use crate::components::{Name, Player};
use bevy::prelude::*;
use crate::prelude::*;
pub fn add_player(mut commands: Commands) {
commands
@ -8,8 +7,14 @@ pub fn add_player(mut commands: Commands) {
.insert(Name("Player 1".to_string()));
}
pub fn greet_player(query: Query<&Name, With<Player>>) {
for name in query.iter() {
println!("Hello, {}!", name.0);
pub fn greet_player(
query: Query<&Name, With<Player>>,
time: Res<Time>,
mut timer: ResMut<GreetTimer>,
) {
if timer.0.tick(time.delta()).just_finished() {
for name in query.iter() {
println!("Hello, {}!", name.0);
}
}
}