feat: ✨ fishing
This commit is contained in:
parent
c7e17a7c1d
commit
cca4b205f5
2 changed files with 27 additions and 6 deletions
|
@ -12,6 +12,7 @@ mod water;
|
|||
|
||||
pub const CHARACTER_SPEED: f32 = 300.0;
|
||||
pub const CAMERA_DECAY_RATE: f32 = 3.0;
|
||||
pub const FISHING_AREA_RADIUS: f32 = 100.0;
|
||||
|
||||
pub fn start_game() {
|
||||
App::new()
|
||||
|
@ -20,6 +21,6 @@ pub fn start_game() {
|
|||
Startup,
|
||||
(setup_camera, Water::setup_water, Player::setup_player),
|
||||
)
|
||||
.add_systems(Update, (update_camera, Player::move_player))
|
||||
.add_systems(Update, (update_camera, Player::move_player, Water::fishing))
|
||||
.run();
|
||||
}
|
||||
|
|
30
src/water.rs
30
src/water.rs
|
@ -1,15 +1,35 @@
|
|||
use bevy::prelude::*;
|
||||
|
||||
use crate::{player::Player, FISHING_AREA_RADIUS};
|
||||
|
||||
#[derive(Debug, Component)]
|
||||
pub struct Water;
|
||||
|
||||
impl Water {
|
||||
pub fn setup_water(mut commands: Commands, asset_server: Res<AssetServer>) {
|
||||
let image = asset_server.load::<Image>("water.png");
|
||||
commands.spawn((
|
||||
Sprite::from_image(image),
|
||||
Transform::from_xyz(500.0, 0.0, 0.0),
|
||||
Water,
|
||||
));
|
||||
let sprite = Sprite::from_image(image);
|
||||
commands.spawn((sprite.clone(), Transform::from_xyz(500.0, 0.0, -1.0), Water));
|
||||
commands.spawn((sprite, Transform::from_xyz(-500.0, 0.0, -1.0), Water));
|
||||
}
|
||||
|
||||
pub fn fishing(
|
||||
player_query: Query<&Transform, With<Player>>,
|
||||
water_query: Query<&Transform, With<Water>>,
|
||||
keyboard: Res<ButtonInput<KeyCode>>,
|
||||
) {
|
||||
let player_transform = player_query.get_single().unwrap();
|
||||
|
||||
for water_query in &water_query {
|
||||
let distance = player_transform
|
||||
.translation
|
||||
.distance(water_query.translation);
|
||||
|
||||
if distance < FISHING_AREA_RADIUS {
|
||||
if keyboard.just_pressed(KeyCode::KeyE) {
|
||||
println!("You caught a fish");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue