use bevy::app::{App, PluginGroup, PluginGroupBuilder}; use bevy::math::vec2; use bevy::prelude::{Sprite, Transform}; use bevy_rapier2d::prelude::*; use bevy_replicon::prelude::{AppRuleExt, Channel, ClientEventAppExt}; use crate::config::planet::Planet; use crate::ecs::{Ball, Ground, SendBallHere}; pub struct SharedPluginGroup; impl PluginGroup for SharedPluginGroup { fn build(self) -> PluginGroupBuilder { PluginGroupBuilder::start::() .add( RapierPhysicsPlugin::::pixels_per_meter(100.0) ) .add(register_everything) } } pub fn register_everything(app: &mut App) { app .add_client_event::(Channel::Ordered) .replicate::() .replicate::() .replicate::() .replicate::() .replicate::(); }