spawn projectiles at player location
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user