aboutsummaryrefslogtreecommitdiffstats
path: root/src/client/network.rs
blob: 4d1a12825dfaea54fe6661f45c52b02c1a006cec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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(),
        )));
    }
}