diff --git a/bevy_renet/Cargo.toml b/bevy_renet/Cargo.toml index 9fc703cc..be11d518 100644 --- a/bevy_renet/Cargo.toml +++ b/bevy_renet/Cargo.toml @@ -14,7 +14,6 @@ version = "0.0.10" default = ["transport"] serde = ["renet/serde"] transport = ["renet/transport"] -steam = ["renet_steam"] [[example]] name = "simple" @@ -23,7 +22,6 @@ required-features = ["serde", "transport"] [dependencies] bevy = {version = "0.12", default-features = false} renet = {path = "../renet", version = "0.0.14", default-features=false, features = ["bevy"]} -renet_steam = { path = "../renet_steam", version = "0.0.1", features = [ "bevy" ], optional = true } [dev-dependencies] bevy = {version = "0.12", default-features = false, features = ["bevy_core_pipeline", "bevy_render", "bevy_asset", "bevy_pbr", "x11", "tonemapping_luts", "ktx2", "zstd"]} diff --git a/bevy_renet/src/lib.rs b/bevy_renet/src/lib.rs index d869ddf5..9e452983 100644 --- a/bevy_renet/src/lib.rs +++ b/bevy_renet/src/lib.rs @@ -7,9 +7,6 @@ use renet::{RenetClient, RenetServer, ServerEvent}; #[cfg(feature = "transport")] pub mod transport; -#[cfg(feature = "steam")] -pub mod steam; - /// This system set is where all transports receive messages /// /// If you want to ensure data has arrived in the [`RenetClient`] or [`RenetServer`], then schedule your diff --git a/demo_bevy/Cargo.toml b/demo_bevy/Cargo.toml index 224f6a6c..7d43b069 100644 --- a/demo_bevy/Cargo.toml +++ b/demo_bevy/Cargo.toml @@ -12,11 +12,12 @@ path = "src/bin/server.rs" [features] transport = ["bevy_renet/transport"] -steam = ["bevy_renet/steam", "steamworks"] +steam = ["dep:renet_steam", "steamworks"] [dependencies] bevy = {version = "0.12", default-features = false, features = ["bevy_core_pipeline", "bevy_render", "bevy_asset", "bevy_pbr", "x11", "tonemapping_luts", "ktx2", "zstd"]} bevy_renet = { path = "../bevy_renet", features = ["serde"] } +renet_steam = { path = "../renet_steam", features = ["bevy"], optional = true } serde = { version = "1.0", features = ["derive"] } bincode = "1.3.1" bevy_egui = "0.23.0" diff --git a/demo_bevy/src/bin/client.rs b/demo_bevy/src/bin/client.rs index c742929e..f9ce4b46 100644 --- a/demo_bevy/src/bin/client.rs +++ b/demo_bevy/src/bin/client.rs @@ -82,7 +82,7 @@ fn add_netcode_network(app: &mut App) { #[cfg(feature = "steam")] fn add_steam_network(app: &mut App) { - use bevy_renet::steam::{SteamClientPlugin, SteamClientTransport, SteamTransportError}; + use renet_steam::bevy::{SteamClientPlugin, SteamClientTransport, SteamTransportError}; use steamworks::{SingleClient, SteamId}; let (steam_client, single) = steamworks::Client::init_app(480).unwrap(); diff --git a/demo_bevy/src/bin/server.rs b/demo_bevy/src/bin/server.rs index c59ed34f..2cc959cd 100644 --- a/demo_bevy/src/bin/server.rs +++ b/demo_bevy/src/bin/server.rs @@ -59,8 +59,9 @@ fn add_netcode_network(app: &mut App) { #[cfg(feature = "steam")] fn add_steam_network(app: &mut App) { - use bevy_renet::steam::{AccessPermission, SteamServerConfig, SteamServerPlugin, SteamServerTransport}; use demo_bevy::connection_config; + use renet_steam::bevy::{SteamServerConfig, SteamServerPlugin, SteamServerTransport}; + use renet_steam::AccessPermission; use steamworks::SingleClient; let (steam_client, single) = steamworks::Client::init_app(480).unwrap(); diff --git a/renet_steam/Cargo.toml b/renet_steam/Cargo.toml index 9627dbfc..0d70d734 100644 --- a/renet_steam/Cargo.toml +++ b/renet_steam/Cargo.toml @@ -11,7 +11,7 @@ edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [features] -bevy = ["dep:bevy_ecs"] +bevy = ["dep:bevy_app", "dep:bevy_ecs", "dep:bevy_renet"] [dependencies] renet = { path = "../renet" } @@ -19,6 +19,8 @@ renet = { path = "../renet" } steamworks = { git = "https://github.com/Noxime/steamworks-rs", rev = "a4dfe2a" } log = "0.4.19" bevy_ecs = { version = "0.12", optional = true } +bevy_app = { version = "0.12", optional = true } +bevy_renet = { version = "0.0.10", optional = true, path = "../bevy_renet" } [dev-dependencies] env_logger = "0.10.0" diff --git a/bevy_renet/src/steam.rs b/renet_steam/src/bevy.rs similarity index 92% rename from bevy_renet/src/steam.rs rename to renet_steam/src/bevy.rs index d9b08efa..601e1457 100644 --- a/bevy_renet/src/steam.rs +++ b/renet_steam/src/bevy.rs @@ -1,10 +1,11 @@ -use bevy::{app::AppExit, prelude::*}; +use bevy_app::{prelude::*, AppExit}; +use bevy_ecs::prelude::*; use renet::{RenetClient, RenetServer}; -use renet_steam::steamworks::SteamError; +use steamworks::SteamError; -use crate::{RenetClientPlugin, RenetReceive, RenetSend, RenetServerPlugin}; +use bevy_renet::{RenetClientPlugin, RenetReceive, RenetSend, RenetServerPlugin}; -pub use renet_steam::{AccessPermission, SteamClientTransport, SteamServerConfig, SteamServerTransport}; +pub use crate::{AccessPermission, SteamClientTransport, SteamServerConfig, SteamServerTransport}; pub struct SteamServerPlugin; diff --git a/renet_steam/src/lib.rs b/renet_steam/src/lib.rs index 2c8b2387..b536d7dd 100644 --- a/renet_steam/src/lib.rs +++ b/renet_steam/src/lib.rs @@ -3,6 +3,9 @@ const MAX_MESSAGE_BATCH_SIZE: usize = 512; mod client; mod server; +#[cfg(feature = "bevy")] +pub mod bevy; + pub use client::SteamClientTransport; pub use server::{AccessPermission, SteamServerConfig, SteamServerTransport};