This commit is contained in:
Astro 2022-01-24 04:06:05 +01:00
parent e6c7dc7433
commit 5cbe06a0bc
5 changed files with 9 additions and 19 deletions

View File

@ -59,12 +59,12 @@ pub fn walk(
// patrol // patrol
let x_bounds = enemy.bounds.0.clone(); let x_bounds = enemy.bounds.0.clone();
let z_bounds = enemy.bounds.1.clone(); let z_bounds = enemy.bounds.1.clone();
let (x, z) = enemy.patrol_target let (x, z) = *enemy.patrol_target
// new patrol target // new patrol target
.get_or_insert_with(|| ( .get_or_insert_with(|| (
rng.gen_range(x_bounds), rng.gen_range(x_bounds),
rng.gen_range(z_bounds) rng.gen_range(z_bounds)
)).clone(); ));
if Vec2::new(transform.translation.x - x, if Vec2::new(transform.translation.x - x,
transform.translation.z - z) transform.translation.z - z)
.length_squared() < 1.0 .length_squared() < 1.0

View File

@ -52,6 +52,7 @@ fn exit_on_escape(keyboard_input: Res<Input<KeyCode>>, mut exit: EventWriter<App
} }
} }
#[allow(unused)]
fn log_collisions(mut events: EventReader<CollisionEvent>) { fn log_collisions(mut events: EventReader<CollisionEvent>) {
for event in events.iter() { for event in events.iter() {
match event { match event {

View File

@ -41,15 +41,9 @@ pub struct Bridge {
to: (i32, i32), to: (i32, i32),
} }
#[derive(Component)] #[derive(Component, Default)]
pub struct GroundContact(pub usize); pub struct GroundContact(pub usize);
impl std::default::Default for GroundContact {
fn default() -> Self {
GroundContact(0)
}
}
#[derive(Debug, Component)] #[derive(Debug, Component)]
pub struct Ground { pub struct Ground {
/// (center x, width) /// (center x, width)
@ -269,9 +263,9 @@ fn add_island(
let transform = ground.to_transform(); let transform = ground.to_transform();
let bounds = ground.to_box(); let bounds = ground.to_box();
let mut soil_box = bounds.clone(); let mut soil_box = bounds;
soil_box.max_y = soil_box.max_y - GRASS_HEIGHT; soil_box.max_y -= GRASS_HEIGHT;
let mut grass_box = bounds.clone(); let mut grass_box = bounds;
grass_box.min_y = soil_box.max_y; grass_box.min_y = soil_box.max_y;
let soil_mesh = meshes.add(Mesh::from(soil_box)); let soil_mesh = meshes.add(Mesh::from(soil_box));

View File

@ -24,7 +24,7 @@ pub fn spawn_player(
asset_server: Res<AssetServer>, asset_server: Res<AssetServer>,
) { ) {
let input_source = match input.keys.iter().find(|(input_source, key)| let input_source = match input.keys.iter().find(|(input_source, key)|
if [Key::Jump, Key::Shoot].iter().find(|k| k == &key).is_some() { if [Key::Jump, Key::Shoot].iter().any(|k| k == key) {
! players.iter().any(|player| player.input_source == *input_source) ! players.iter().any(|player| player.input_source == *input_source)
} else { } else {
false false

View File

@ -1,13 +1,8 @@
use std::collections::HashMap;
use rand::prelude::*;
use bevy::{ use bevy::{
prelude::*, prelude::*,
}; };
use heron::prelude::*; use heron::prelude::*;
use crate::{ use crate::Layer;
player::Player,
Layer,
};
pub const EGG_RADIUS: f32 = 0.15; pub const EGG_RADIUS: f32 = 0.15;