Fix telegrenade throw direction
This commit is contained in:
parent
f7e287c22f
commit
6147640213
@ -519,18 +519,23 @@ impl ICharacterBody3D for LocalPlayer {
|
||||
}
|
||||
|
||||
if let Some(pos) = self.raycast_from_camera() {
|
||||
let dir = if let Some(origin) = &self.camera_origin {
|
||||
pos - origin.get_global_position()
|
||||
} else {
|
||||
Vector3::ZERO
|
||||
};
|
||||
if let Some(peer) = &mut NetworkManager::singleton().bind_mut().peer {
|
||||
match peer {
|
||||
PeerKind::Client(peer, addr) => {
|
||||
if self.try_throw_telegrenade(pos) {
|
||||
peer.send_reliable(addr, ThrowTelegrenade(0, pos.into()));
|
||||
if self.try_throw_telegrenade(dir) {
|
||||
peer.send_reliable(addr, ThrowTelegrenade(0, dir.into()));
|
||||
}
|
||||
}
|
||||
PeerKind::Server(peer, _) => {
|
||||
if self.try_throw_telegrenade(pos) {
|
||||
if self.try_throw_telegrenade(dir) {
|
||||
peer.broadcast_reliable(ThrowTelegrenade(
|
||||
self.player_id.unwrap_or(0),
|
||||
pos.into(),
|
||||
dir.into(),
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user