Skip to content

Commit 79fcfe8

Browse files
refactor: Plugin + Session builder API updated from bones refactor (#1049)
Update plugins for builder pattern, from changes in bones: fishfolk/bones#489
1 parent 1ec5db6 commit 79fcfe8

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

59 files changed

+1085
-411
lines changed

Cargo.lock

Lines changed: 973 additions & 299 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/audio.rs

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,16 @@ pub use music::*;
77
pub fn game_plugin(game: &mut Game) {
88
game.init_shared_resource::<AudioCenter>();
99

10-
let session = match game.sessions.get_mut(SessionNames::AUDIO) {
11-
Some(session) => session,
12-
None => panic!("Audio plugin failed to find existing bones audio session, make sure jumpy audio plugin is installed after bones default plugins.")
13-
};
10+
let modified_session = game.sessions.modify_and_replace_existing_session(
11+
SessionNames::AUDIO,
12+
|session: &mut SessionBuilder| {
13+
session.stages().add_system_to_stage(First, music_system);
14+
},
15+
);
1416

15-
session.stages.add_system_to_stage(First, music_system);
17+
if modified_session.is_none() {
18+
panic!("Audio plugin failed to find existing bones audio session, make sure jumpy audio plugin is installed after bones default plugins.")
19+
}
1620
}
1721

1822
/// Extension of bones [`AudioCenter`].

src/core.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ pub struct MatchPlayerInfo {
7272
}
7373

7474
impl SessionPlugin for MatchPlugin {
75-
fn install(self, session: &mut Session) {
75+
fn install(self, session: &mut SessionBuilder) {
7676
session
7777
.install_plugin(DefaultSessionPlugin)
7878
.install_plugin(LuaPluginLoaderSessionPlugin(self.plugins));
@@ -94,7 +94,7 @@ impl SessionPlugin for MatchPlugin {
9494
scoring::session_plugin(session);
9595

9696
let current_map = self.maps.current_map;
97-
session.world.insert_resource(self.maps);
97+
session.insert_resource(self.maps);
9898

9999
// Initialize LoadedMap on startup as we cannot access AssetServer during MatchPlugin install
100100
// to get map meta.
@@ -105,11 +105,11 @@ impl SessionPlugin for MatchPlugin {
105105
},
106106
);
107107

108-
session.world.insert_resource(MatchInputs {
108+
session.insert_resource(MatchInputs {
109109
players: self.player_info,
110110
});
111-
session.world.insert_resource(self.score);
112-
session.runner = self.session_runner;
111+
session.insert_resource(self.score);
112+
session.set_session_runner(self.session_runner);
113113
}
114114
}
115115

src/core/attachment.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,8 @@
77
//! sure that, for example, a held item will bob up and down with the player.
88
use crate::prelude::*;
99

10-
pub fn install(session: &mut Session) {
10+
pub fn install(session: &mut SessionBuilder) {
1111
session
12-
.stages
1312
.add_system_to_stage(CoreStage::Last, update_player_body_attachments)
1413
.add_system_to_stage(CoreStage::Last, remove_player_body_attachments)
1514
.add_system_to_stage(CoreStage::Last, update_attachments);

src/core/bullet.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ pub fn game_plugin(game: &mut Game) {
1010
}
1111

1212
/// Install this module.
13-
pub fn session_plugin(session: &mut Session) {
13+
pub fn session_plugin(session: &mut SessionBuilder) {
1414
Bullet::register_schema();
1515
BulletHandle::register_schema();
1616

src/core/camera.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
use crate::prelude::*;
44

55
/// Install this module.
6-
pub fn install(session: &mut Session) {
6+
pub fn install(session: &mut SessionBuilder) {
77
session
88
.stages
99
.add_system_to_stage(CoreStage::Last, camera_controller);

src/core/damage.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,11 @@ use crate::prelude::*;
77
use super::utils::Rect;
88

99
/// Install this module.
10-
pub fn install(session: &mut Session) {
10+
pub fn install(session: &mut SessionBuilder) {
1111
DamageRegion::register_schema();
1212
DamageRegionOwner::register_schema();
1313

14-
session
15-
.stages
16-
.add_system_to_stage(CoreStage::PostUpdate, kill_players_in_damage_region);
14+
session.add_system_to_stage(CoreStage::PostUpdate, kill_players_in_damage_region);
1715
}
1816

1917
/// A rectangular damage region.

src/core/debug.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ use crate::prelude::*;
44
use rapier2d::prelude as rapier;
55

66
/// Install this module.
7-
pub fn plugin(session: &mut Session) {
7+
pub fn plugin(session: &mut SessionBuilder) {
88
session
99
.stages
1010
.add_system_to_stage(CoreStage::Last, debug_render_colliders)

src/core/editor.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ use crate::core::map_constructor::{shiftnanigans::ShiftnanigansMapConstructor, M
66
use crate::prelude::*;
77

88
/// Install this module.
9-
pub fn install(session: &mut Session) {
9+
pub fn install(session: &mut SessionBuilder) {
1010
session
1111
.stages
1212
.add_system_to_stage(CoreStage::PreUpdate, handle_editor_input);

src/core/elements.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -284,7 +284,7 @@ impl<'a> SpawnerManager<'a> {
284284
/// Helper macro to install element game and session plugins
285285
macro_rules! install_plugins {
286286
($($module:ident),* $(,)?) => {
287-
pub fn session_plugin(session: &mut Session) {
287+
pub fn session_plugin(session: &mut SessionBuilder) {
288288
ElementHandle::register_schema();
289289
MapElementHydrated::register_schema();
290290
DehydrateOutOfBounds::register_schema();

0 commit comments

Comments
 (0)