oxygengine_network/
lib.rs1extern crate oxygengine_core as core;
2
3pub mod client;
4pub mod resource;
5pub mod server;
6pub mod system;
7
8pub mod prelude {
9 pub use crate::{client::*, resource::*, server::*, system::*};
10}
11
12use crate::{
13 client::Client,
14 resource::{Network, NetworkHost},
15 server::Server,
16 system::{
17 network_host_system, network_system, NetworkHostSystemResources, NetworkSystemResources,
18 },
19};
20use core::{
21 app::AppBuilder,
22 ecs::pipeline::{PipelineBuilder, PipelineBuilderError},
23};
24
25pub fn bundle_installer<PB, C, S>(
26 builder: &mut AppBuilder<PB>,
27 _: (),
28) -> Result<(), PipelineBuilderError>
29where
30 PB: PipelineBuilder,
31 C: Client + 'static,
32 S: Server + 'static,
33{
34 builder.install_resource(Network::<C>::default());
35 builder.install_resource(NetworkHost::<S>::default());
36 builder.install_system::<NetworkSystemResources<C>>("network", network_system::<C>, &[])?;
37 builder.install_system::<NetworkHostSystemResources<S>>(
38 "network-host",
39 network_host_system::<S>,
40 &[],
41 )?;
42 Ok(())
43}