use std::net::SocketAddr; use bevy::app::{PluginGroup, PluginGroupBuilder}; use bevy::DefaultPlugins; use bevy::log::LogPlugin; use bevy_rapier2d::render::RapierDebugRenderPlugin; use bevy_replicon::RepliconPlugins; use bevy_replicon_renet2::RepliconRenetClientPlugin; use crate::client::ClientPlugin; pub struct ClientPluginGroup { pub server: SocketAddr } impl PluginGroup for ClientPluginGroup { fn build(self) -> PluginGroupBuilder { PluginGroupBuilder::start::() .add_group( DefaultPlugins .build() .disable::() ) .add_group( RepliconPlugins ) .add(RepliconRenetClientPlugin) .add(ClientPlugin { server: self.server }) .add(RapierDebugRenderPlugin::default()) } }