aboutsummaryrefslogtreecommitdiffstats
path: root/src/client/network.rs
diff options
context:
space:
mode:
authorLibravatar Alexander Foremny <aforemny@posteo.de>2024-03-14 06:43:53 +0100
committerLibravatar Alexander Foremny <aforemny@posteo.de>2024-03-15 02:50:57 +0100
commit69584a302d132dc2bcc3837437e7347a3e0a5114 (patch)
treefae29ea706451e91a0dee99200fa661b78de3517 /src/client/network.rs
parent9671dd79163e654f61896ec4f61142a71c2f82c0 (diff)
feat: players can teleport
Diffstat (limited to 'src/client/network.rs')
-rw-r--r--src/client/network.rs35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/client/network.rs b/src/client/network.rs
new file mode 100644
index 0000000..4d1a128
--- /dev/null
+++ b/src/client/network.rs
@@ -0,0 +1,35 @@
+use crate::protocol::*;
+use crate::shared::*;
+use bevy::prelude::*;
+use lightyear::client::config::*;
+use lightyear::client::plugin::ClientPlugin;
+use lightyear::client::plugin::PluginConfig;
+use lightyear::client::resource::Authentication;
+use lightyear::prelude::client::NetConfig;
+use lightyear::prelude::*;
+use lightyear::transport::LOCAL_SOCKET;
+
+pub struct NetworkPlugin {
+ pub transport: TransportConfig,
+}
+
+impl Plugin for NetworkPlugin {
+ fn build(&self, app: &mut App) {
+ app.add_plugins(ClientPlugin::new(PluginConfig::new(
+ ClientConfig {
+ net: NetConfig::Netcode {
+ config: Default::default(),
+ auth: Authentication::Manual {
+ server_addr: LOCAL_SOCKET,
+ client_id: CLIENT_ID,
+ private_key: KEY,
+ protocol_id: PROTOCOL_ID,
+ },
+ io: IoConfig::from_transport(self.transport.clone()),
+ },
+ ..Default::default()
+ },
+ protocol(),
+ )));
+ }
+}