Skip to content
This repository has been archived by the owner on Nov 29, 2022. It is now read-only.

Commit

Permalink
fix: TimePlugin being installed on behalf of the user (#320)
Browse files Browse the repository at this point in the history
BREAKING CHANGE: The bevy `TimePlugin` must now be installed before installing the heron plugin
  • Loading branch information
elsid committed Nov 12, 2022
1 parent 35072b0 commit 662e5a6
Show file tree
Hide file tree
Showing 15 changed files with 31 additions and 2 deletions.
5 changes: 3 additions & 2 deletions rapier/src/lib.rs
Expand Up @@ -23,7 +23,6 @@ pub extern crate rapier3d;

use bevy::ecs::component::Component;
use bevy::prelude::*;
use bevy::time::TimePlugin;
use bevy::transform::TransformSystem;
#[cfg(dim2)]
pub(crate) use rapier2d as rapier;
Expand Down Expand Up @@ -71,7 +70,6 @@ pub struct ColliderHandle(geometry::ColliderHandle);
impl Plugin for RapierPlugin {
fn build(&self, app: &mut App) {
app.add_plugin(heron_core::CorePlugin)
.add_plugin(TimePlugin)
.init_resource::<PhysicsPipeline>()
.init_resource::<body::HandleMap>()
.init_resource::<shape::HandleMap>()
Expand Down Expand Up @@ -163,6 +161,7 @@ mod tests {
use std::time::Duration;

use bevy::core::CorePlugin;
use bevy::time::TimePlugin;

use heron_core::{
Acceleration, CollisionShape, PhysicsSteps, PhysicsTime, RigidBody, Velocity,
Expand All @@ -176,6 +175,7 @@ mod tests {
let mut app = App::new();

app.add_plugin(CorePlugin)
.add_plugin(TimePlugin)
.add_plugin(TransformPlugin)
.add_plugin(RapierPlugin::default())
.insert_resource(PhysicsSteps::every_frame(Duration::from_secs(1)));
Expand Down Expand Up @@ -213,6 +213,7 @@ mod tests {
fn does_not_update_rapier_when_paused() {
let mut app = App::new();
app.add_plugin(CorePlugin)
.add_plugin(TimePlugin)
.add_plugin(RapierPlugin::default())
.insert_resource(PhysicsSteps::every_frame(Duration::from_secs(1)));
let entity = app
Expand Down
2 changes: 2 additions & 0 deletions rapier/tests/acceleration.rs
Expand Up @@ -6,6 +6,7 @@ use bevy::core::CorePlugin;
use bevy::prelude::*;
use bevy::prelude::{GlobalTransform, Transform};
use bevy::reflect::TypeRegistryArc;
use bevy::time::TimePlugin;

use heron_core::{Acceleration, AxisAngle, CollisionShape, PhysicsSteps, RigidBody};
use heron_rapier::convert::{IntoBevy, IntoRapier};
Expand All @@ -20,6 +21,7 @@ fn test_app() -> App {
.init_resource::<TypeRegistryArc>()
.insert_resource(PhysicsSteps::every_frame(Duration::from_secs(1)))
.add_plugin(CorePlugin)
.add_plugin(TimePlugin)
.add_plugin(RapierPlugin);
builder
}
Expand Down
2 changes: 2 additions & 0 deletions rapier/tests/bodies.rs
Expand Up @@ -9,6 +9,7 @@ use bevy::core::CorePlugin;
use bevy::math::Affine3A;
use bevy::prelude::*;
use bevy::reflect::TypeRegistryArc;
use bevy::time::TimePlugin;

use heron_core::{CollisionShape, PhysicsSteps, PhysicsTime, RigidBody};
use heron_rapier::convert::{IntoBevy, IntoRapier};
Expand All @@ -23,6 +24,7 @@ fn test_app() -> App {
.init_resource::<TypeRegistryArc>()
.insert_resource(PhysicsSteps::every_frame(Duration::from_secs(1)))
.add_plugin(CorePlugin)
.add_plugin(TimePlugin)
.add_plugin(RapierPlugin);
builder
}
Expand Down
2 changes: 2 additions & 0 deletions rapier/tests/body_types.rs
Expand Up @@ -5,6 +5,7 @@ use std::time::Duration;
use bevy::core::CorePlugin;
use bevy::prelude::*;
use bevy::reflect::TypeRegistryArc;
use bevy::time::TimePlugin;

use heron_core::{CollisionShape, PhysicsSteps, RigidBody};
use heron_rapier::convert::IntoRapier;
Expand All @@ -19,6 +20,7 @@ fn test_app() -> App {
.init_resource::<TypeRegistryArc>()
.insert_resource(PhysicsSteps::every_frame(Duration::from_secs(1)))
.add_plugin(CorePlugin)
.add_plugin(TimePlugin)
.add_plugin(RapierPlugin);
builder
}
Expand Down
2 changes: 2 additions & 0 deletions rapier/tests/children_collision_shapes.rs
Expand Up @@ -4,6 +4,7 @@ use std::time::Duration;
use bevy::core::CorePlugin;
use bevy::prelude::*;
use bevy::reflect::TypeRegistryArc;
use bevy::time::TimePlugin;

use heron_core::{CollisionShape, PhysicsSteps, RigidBody};
use heron_rapier::convert::IntoBevy;
Expand All @@ -19,6 +20,7 @@ fn test_app() -> App {
.init_resource::<TypeRegistryArc>()
.insert_resource(PhysicsSteps::every_frame(Duration::from_secs(1)))
.add_plugin(CorePlugin)
.add_plugin(TimePlugin)
.add_plugin(RapierPlugin);

builder
Expand Down
2 changes: 2 additions & 0 deletions rapier/tests/constraints.rs
Expand Up @@ -5,6 +5,7 @@ use std::time::Duration;
use bevy::core::CorePlugin;
use bevy::prelude::*;
use bevy::reflect::TypeRegistryArc;
use bevy::time::TimePlugin;

use heron_core::{CollisionShape, PhysicsSteps, RigidBody, RotationConstraints};
use heron_rapier::convert::IntoRapier;
Expand All @@ -19,6 +20,7 @@ fn test_app() -> App {
.init_resource::<TypeRegistryArc>()
.insert_resource(PhysicsSteps::every_frame(Duration::from_secs(1)))
.add_plugin(CorePlugin)
.add_plugin(TimePlugin)
.add_plugin(RapierPlugin);
builder
}
Expand Down
2 changes: 2 additions & 0 deletions rapier/tests/damping.rs
Expand Up @@ -5,6 +5,7 @@ use std::time::Duration;
use bevy::core::CorePlugin;
use bevy::prelude::*;
use bevy::reflect::TypeRegistryArc;
use bevy::time::TimePlugin;

use heron_core::{Damping, PhysicsSteps, RigidBody};
use heron_rapier::convert::IntoRapier;
Expand All @@ -18,6 +19,7 @@ fn test_app() -> App {
app.init_resource::<TypeRegistryArc>()
.insert_resource(PhysicsSteps::every_frame(Duration::from_secs(1)))
.add_plugin(CorePlugin)
.add_plugin(TimePlugin)
.add_plugin(RapierPlugin);
app
}
Expand Down
2 changes: 2 additions & 0 deletions rapier/tests/density.rs
Expand Up @@ -5,6 +5,7 @@ use std::time::Duration;
use bevy::core::CorePlugin;
use bevy::prelude::*;
use bevy::reflect::TypeRegistryArc;
use bevy::time::TimePlugin;

use heron_core::utils::NearZero;
use heron_core::{CollisionShape, PhysicMaterial, PhysicsSteps, RigidBody};
Expand All @@ -20,6 +21,7 @@ fn test_app() -> App {
.init_resource::<TypeRegistryArc>()
.insert_resource(PhysicsSteps::every_frame(Duration::from_secs(1)))
.add_plugin(CorePlugin)
.add_plugin(TimePlugin)
.add_plugin(RapierPlugin);
builder
}
Expand Down
2 changes: 2 additions & 0 deletions rapier/tests/events.rs
Expand Up @@ -5,6 +5,7 @@ use std::time::Duration;
use bevy::ecs::event::ManualEventReader;
use bevy::prelude::*;
use bevy::reflect::TypeRegistryArc;
use bevy::time::TimePlugin;
use bevy::{core::CorePlugin, ecs::event::Events};
use rstest::*;

Expand All @@ -20,6 +21,7 @@ fn test_app() -> App {
.init_resource::<TypeRegistryArc>()
.insert_resource(PhysicsSteps::every_frame(Duration::from_secs(1)))
.add_plugin(CorePlugin)
.add_plugin(TimePlugin)
.add_plugin(RapierPlugin)
.add_system_to_stage(
bevy::app::CoreStage::PostUpdate,
Expand Down
2 changes: 2 additions & 0 deletions rapier/tests/friction.rs
Expand Up @@ -5,6 +5,7 @@ use std::time::Duration;
use bevy::core::CorePlugin;
use bevy::prelude::*;
use bevy::reflect::TypeRegistryArc;
use bevy::time::TimePlugin;

use heron_core::{CollisionShape, PhysicMaterial, PhysicsSteps, RigidBody};
use heron_rapier::convert::IntoRapier;
Expand All @@ -19,6 +20,7 @@ fn test_app() -> App {
.init_resource::<TypeRegistryArc>()
.insert_resource(PhysicsSteps::every_frame(Duration::from_secs(1)))
.add_plugin(CorePlugin)
.add_plugin(TimePlugin)
.add_plugin(RapierPlugin);
builder
}
Expand Down
2 changes: 2 additions & 0 deletions rapier/tests/layers.rs
Expand Up @@ -5,6 +5,7 @@ use std::time::Duration;
use bevy::core::CorePlugin;
use bevy::prelude::*;
use bevy::reflect::TypeRegistryArc;
use bevy::time::TimePlugin;

use heron_core::{CollisionLayers, CollisionShape, PhysicsLayer, PhysicsSteps, RigidBody};
use heron_rapier::convert::IntoRapier;
Expand Down Expand Up @@ -37,6 +38,7 @@ fn test_app() -> App {
.init_resource::<TypeRegistryArc>()
.insert_resource(PhysicsSteps::every_frame(Duration::from_secs(1)))
.add_plugin(CorePlugin)
.add_plugin(TimePlugin)
.add_plugin(RapierPlugin);
builder
}
Expand Down
2 changes: 2 additions & 0 deletions rapier/tests/resources.rs
Expand Up @@ -4,6 +4,7 @@ use bevy::app::prelude::*;
use bevy::core::CorePlugin;
use bevy::math::prelude::*;
use bevy::reflect::TypeRegistryArc;
use bevy::time::TimePlugin;

use heron_core::Gravity;
use heron_core::PhysicsTime;
Expand All @@ -21,6 +22,7 @@ fn can_define_gravity_before_plugin() {
.insert_resource(Gravity::from(Vec3::Y))
.init_resource::<TypeRegistryArc>()
.add_plugin(CorePlugin)
.add_plugin(TimePlugin)
.add_plugin(RapierPlugin::default());

builder
Expand Down
2 changes: 2 additions & 0 deletions rapier/tests/restitution.rs
Expand Up @@ -5,6 +5,7 @@ use std::time::Duration;
use bevy::core::CorePlugin;
use bevy::prelude::*;
use bevy::reflect::TypeRegistryArc;
use bevy::time::TimePlugin;

use heron_core::{CollisionShape, PhysicMaterial, PhysicsSteps, RigidBody};
use heron_rapier::convert::IntoRapier;
Expand All @@ -19,6 +20,7 @@ fn test_app() -> App {
.init_resource::<TypeRegistryArc>()
.insert_resource(PhysicsSteps::every_frame(Duration::from_secs(1)))
.add_plugin(CorePlugin)
.add_plugin(TimePlugin)
.add_plugin(RapierPlugin);
builder
}
Expand Down
2 changes: 2 additions & 0 deletions rapier/tests/sensor_shape.rs
Expand Up @@ -5,6 +5,7 @@ use std::time::Duration;
use bevy::core::CorePlugin;
use bevy::prelude::*;
use bevy::reflect::TypeRegistryArc;
use bevy::time::TimePlugin;

use heron_core::{CollisionShape, PhysicsSteps, RigidBody, SensorShape};
use heron_rapier::convert::IntoRapier;
Expand All @@ -20,6 +21,7 @@ fn test_app() -> App {
.init_resource::<TypeRegistryArc>()
.insert_resource(PhysicsSteps::every_frame(Duration::from_secs(1)))
.add_plugin(CorePlugin)
.add_plugin(TimePlugin)
.add_plugin(RapierPlugin);
builder
}
Expand Down
2 changes: 2 additions & 0 deletions rapier/tests/velocity.rs
Expand Up @@ -6,6 +6,7 @@ use std::time::Duration;
use bevy::core::CorePlugin;
use bevy::prelude::*;
use bevy::reflect::TypeRegistryArc;
use bevy::time::TimePlugin;
use rstest::rstest;

use heron_core::*;
Expand All @@ -21,6 +22,7 @@ fn test_app() -> App {
.init_resource::<TypeRegistryArc>()
.insert_resource(PhysicsSteps::every_frame(Duration::from_secs(1)))
.add_plugin(CorePlugin)
.add_plugin(TimePlugin)
.add_plugin(RapierPlugin);
builder
}
Expand Down

0 comments on commit 662e5a6

Please sign in to comment.