Skip to content

Commit

Permalink
BevyRenet: update example and demo to bevy 0.11
Browse files Browse the repository at this point in the history
  • Loading branch information
lucaspoffo committed Jul 14, 2023
1 parent 5f61be5 commit 08f1d95
Showing 7 changed files with 57 additions and 51 deletions.
4 changes: 2 additions & 2 deletions bevy_renet/Cargo.toml
Original file line number Diff line number Diff line change
@@ -15,11 +15,11 @@ default = ["transport"]
transport = ["renet/transport"]

[dependencies]
bevy = {version = "0.11.0", default-features = false}
bevy = {version = "0.11", default-features = false}
renet = {path = "../renet", version = "0.0.12", features = ["bevy"]}

[dev-dependencies]
bevy = {version = "0.11.0", default-features = false, features = ["bevy_core_pipeline", "bevy_render", "bevy_asset", "bevy_pbr", "x11"]}
bevy = {version = "0.11", default-features = false, features = ["bevy_core_pipeline", "bevy_render", "bevy_asset", "bevy_pbr", "x11", "tonemapping_luts", "ktx2", "zstd"]}
bincode = "1.3.1"
env_logger = "0.10.0"
serde = {version = "1.0", features = ["derive"]}
22 changes: 12 additions & 10 deletions bevy_renet/examples/simple.rs
Original file line number Diff line number Diff line change
@@ -95,30 +95,32 @@ fn main() {
app.init_resource::<Lobby>();

if is_host {
app.add_plugin(RenetServerPlugin);
app.add_plugin(NetcodeServerPlugin);
app.add_plugins(RenetServerPlugin);
app.add_plugins(NetcodeServerPlugin);
let (server, transport) = new_renet_server();
app.insert_resource(server);
app.insert_resource(transport);

app.add_systems((server_update_system, server_sync_players, move_players_system));
app.add_systems(
Update,
(server_update_system, server_sync_players, move_players_system).run_if(resource_exists::<RenetServer>()),
);
} else {
app.add_plugin(RenetClientPlugin);
app.add_plugin(NetcodeClientPlugin);
app.add_plugins(RenetClientPlugin);
app.add_plugins(NetcodeClientPlugin);
app.init_resource::<PlayerInput>();
let (client, transport) = new_renet_client();
app.insert_resource(client);
app.insert_resource(transport);

app.add_systems(
(player_input, client_send_input, client_sync_players)
.distributive_run_if(bevy_renet::transport::client_connected)
.in_base_set(CoreSet::Update),
Update,
(player_input, client_send_input, client_sync_players).run_if(bevy_renet::transport::client_connected),
);
}

app.add_startup_system(setup);
app.add_system(panic_on_error_system);
app.add_systems(Startup, setup);
app.add_systems(Update, panic_on_error_system);

app.run();
}
8 changes: 4 additions & 4 deletions demo_bevy/Cargo.toml
Original file line number Diff line number Diff line change
@@ -11,13 +11,13 @@ name = "server"
path = "src/bin/server.rs"

[dependencies]
bevy_rapier3d = "0.21.0"
bevy = { version = "0.10.0", default-features = false, features = ["bevy_core_pipeline", "bevy_asset", "bevy_render", "bevy_pbr", "x11"] }
bevy_rapier3d = "0.22.0"
bevy = {version = "0.11", default-features = false, features = ["bevy_core_pipeline", "bevy_render", "bevy_asset", "bevy_pbr", "x11", "tonemapping_luts", "ktx2", "zstd"]}
bevy_renet = { path = "../bevy_renet" }
serde = { version = "1.0", features = [ "derive" ] }
bincode = "1.3.1"
# Use version directly when egui is updated to 0.22
bevy_egui = { git = "https://github.com/mvlabat/bevy_egui.git", branch="dependabot/cargo/egui-0.22.0" }
bevy_egui = "0.21.0"
renet_visualizer = { path = "../renet_visualizer", features = ["bevy"] }
smooth-bevy-cameras = "0.8.0"
smooth-bevy-cameras = { git = "https://github.com/bonsairobo/smooth-bevy-cameras.git", rev = "ed8ba36d3b202bc87bbae963670e1b9419804cd0" }
fastrand = "2.0.0"
23 changes: 12 additions & 11 deletions demo_bevy/src/bin/client.rs
Original file line number Diff line number Diff line change
@@ -60,12 +60,12 @@ fn new_renet_client() -> (RenetClient, NetcodeClientTransport) {
fn main() {
let mut app = App::new();
app.add_plugins(DefaultPlugins);
app.add_plugin(RenetClientPlugin);
app.add_plugin(NetcodeClientPlugin);
app.add_plugin(LookTransformPlugin);
app.add_plugin(FrameTimeDiagnosticsPlugin::default());
app.add_plugin(LogDiagnosticsPlugin::default());
app.add_plugin(EguiPlugin);
app.add_plugins(RenetClientPlugin);
app.add_plugins(NetcodeClientPlugin);
app.add_plugins(LookTransformPlugin);
app.add_plugins(FrameTimeDiagnosticsPlugin::default());
app.add_plugins(LogDiagnosticsPlugin::default());
app.add_plugins(EguiPlugin);

app.add_event::<PlayerCommand>();

@@ -77,16 +77,17 @@ fn main() {

app.insert_resource(NetworkMapping::default());

app.add_systems((player_input, camera_follow, update_target_system));
app.add_systems(Update, (player_input, camera_follow, update_target_system));
app.add_systems(
(client_send_input, client_send_player_commands, client_sync_players).distributive_run_if(bevy_renet::transport::client_connected),
Update,
(client_send_input, client_send_player_commands, client_sync_players).run_if(bevy_renet::transport::client_connected),
);

app.insert_resource(RenetClientVisualizer::<200>::new(RenetVisualizerStyle::default()));
app.add_system(update_visulizer_system);

app.add_startup_systems((setup_level, setup_camera, setup_target));
app.add_system(panic_on_error_system);
app.add_systems(Startup, (setup_level, setup_camera, setup_target));
app.add_systems(Update, update_visulizer_system);
app.add_systems(Update, panic_on_error_system);

app.run();
}
45 changes: 24 additions & 21 deletions demo_bevy/src/bin/server.rs
Original file line number Diff line number Diff line change
@@ -57,13 +57,13 @@ fn main() {
let mut app = App::new();
app.add_plugins(DefaultPlugins);

app.add_plugin(RenetServerPlugin);
app.add_plugin(NetcodeServerPlugin);
app.add_plugin(RapierPhysicsPlugin::<NoUserData>::default());
app.add_plugin(RapierDebugRenderPlugin::default());
app.add_plugin(FrameTimeDiagnosticsPlugin::default());
app.add_plugin(LogDiagnosticsPlugin::default());
app.add_plugin(EguiPlugin);
app.add_plugins(RenetServerPlugin);
app.add_plugins(NetcodeServerPlugin);
app.add_plugins(RapierPhysicsPlugin::<NoUserData>::default());
app.add_plugins(RapierDebugRenderPlugin::default());
app.add_plugins(FrameTimeDiagnosticsPlugin::default());
app.add_plugins(LogDiagnosticsPlugin::default());
app.add_plugins(EguiPlugin);

app.insert_resource(ServerLobby::default());
app.insert_resource(BotId(0));
@@ -74,20 +74,23 @@ fn main() {

app.insert_resource(RenetServerVisualizer::<200>::default());

app.add_systems((
server_update_system,
server_network_sync,
move_players_system,
update_projectiles_system,
update_visulizer_system,
despawn_projectile_system,
spawn_bot,
bot_autocast,
));

app.add_system(projectile_on_removal_system.in_base_set(CoreSet::PostUpdate));

app.add_startup_systems((setup_level, setup_simple_camera));
app.add_systems(
Update,
(
server_update_system,
server_network_sync,
move_players_system,
update_projectiles_system,
update_visulizer_system,
despawn_projectile_system,
spawn_bot,
bot_autocast,
),
);

app.add_systems(PostUpdate, projectile_on_removal_system);

app.add_systems(Startup, (setup_level, setup_simple_camera));

app.run();
}
2 changes: 1 addition & 1 deletion demo_bevy/src/lib.rs
Original file line number Diff line number Diff line change
@@ -21,7 +21,7 @@ pub struct PlayerInput {
pub right: bool,
}

#[derive(Debug, Serialize, Deserialize, Component)]
#[derive(Debug, Serialize, Deserialize, Component, Event)]
pub enum PlayerCommand {
BasicAttack { cast_at: Vec3 },
}
4 changes: 2 additions & 2 deletions deny.toml
Original file line number Diff line number Diff line change
@@ -32,6 +32,6 @@ unknown-registry = "deny"
unknown-git = "deny"

allow-git = [
# Used in Demo Bevy, remove when new version supports 0.22
"https://github.com/mvlabat/bevy_egui.git",
# Used in Demo Bevy, remove when new version supports bevy 0.11
"https://github.com/bonsairobo/smooth-bevy-cameras.git",
]

0 comments on commit 08f1d95

Please sign in to comment.