use crate::client::ClientPlugin;
use bevy::DefaultPlugins;
use bevy::app::{PluginGroup, PluginGroupBuilder};
use bevy::log::LogPlugin;
use bevy_replicon::RepliconPlugins;
use bevy_replicon_renet2::RepliconRenetClientPlugin;
#[cfg(not(target_arch = "wasm32"))]
use std::net::SocketAddr;
pub struct ClientPluginGroup {
#[cfg(target_arch = "wasm32")]
pub server: url::Url,
#[cfg(not(target_arch = "wasm32"))]
pub server: SocketAddr,
}
impl PluginGroup for ClientPluginGroup {
fn build(self) -> PluginGroupBuilder {
PluginGroupBuilder::start::<Self>()
.add_group(DefaultPlugins.build().disable::<LogPlugin>())
.add_group(RepliconPlugins)
.add(RepliconRenetClientPlugin)
.add(ClientPlugin {
server: self.server,
})
//.add(RapierDebugRenderPlugin::default())
}
}