spawn projectiles at player location

This commit is contained in:
2022-08-16 15:23:29 +02:00
parent 5ddbf6fc7d
commit 56fdaabb1a
3 changed files with 40 additions and 30 deletions

View File

@@ -84,6 +84,7 @@ fn main() {
#[allow(clippy::too_many_arguments)]
fn server_update_system(
mut server_events: EventReader<ServerEvent>,
pos_query: Query<(&Transform, &Player)>,
mut commands: Commands,
mut lobby: ResMut<ServerLobby>,
mut server: ResMut<RenetServer>,
@@ -124,10 +125,7 @@ fn server_update_system(
.insert(ActiveEvents::COLLISION_EVENTS)
.insert(PlayerInput::default())
.insert(Velocity::default())
.insert(Player {
id: *id,
transform: Transform::from_xyz(10., 10., 0.),
})
.insert(Player { id: *id })
.insert(Jumper {
jump_impulse: 80.,
is_jumping: false,
@@ -167,17 +165,24 @@ fn server_update_system(
let command: PlayerCommand = bincode::deserialize(&message).unwrap();
match command {
PlayerCommand::BasicAttack { origin, direction } => {
info!(
"spawned attack on server at origin {} and direction {}",
origin, direction
);
PlayerCommand::BasicAttack { direction } => {
for (transform, player) in pos_query.iter() {
if player.id == client_id {
let origin =
Vec2::new(transform.translation.x, transform.translation.y);
let entity = spawn_projectile(&mut commands, origin, direction);
let message = ServerMessages::SpawnProjectile { entity };
let message = bincode::serialize(&message).unwrap();
info!(
"spawned attack on server at origin {} with direction {}",
origin, direction
);
server.broadcast_message(ServerChannel::ServerMessages.id(), message);
let entity = spawn_projectile(&mut commands, origin, direction);
let message = ServerMessages::SpawnProjectile { entity };
let message = bincode::serialize(&message).unwrap();
server.broadcast_message(ServerChannel::ServerMessages.id(), message);
}
}
}
}
}