generated from 2ndbeam/bevy-template
feat: Collision beginning
- Added system for detecting collisions with interactive objects - Added interactive doors
This commit is contained in:
parent
3fdfa4a4ad
commit
4c23a38b92
5 changed files with 524 additions and 10 deletions
20
src/lib.rs
20
src/lib.rs
|
|
@ -7,9 +7,12 @@ pub mod ui;
|
|||
mod tests;
|
||||
|
||||
use bevy::{prelude::*, ui_widgets::ScrollbarPlugin};
|
||||
use bevy_rapier2d::{prelude::*, rapier::prelude::IntegrationParameters};
|
||||
use leafwing_input_manager::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
pub const PIXELS_PER_METER: f32 = 16.0;
|
||||
|
||||
pub struct ExpeditionPlugin;
|
||||
|
||||
#[derive(Actionlike, PartialEq, Eq, Hash, Debug, Clone, Reflect, Serialize, Deserialize)]
|
||||
|
|
@ -87,15 +90,30 @@ impl Plugin for ExpeditionPlugin {
|
|||
input::InputAssetPlugin::<InputAction>::default(),
|
||||
input::InputAssetPlugin::<UiAction>::default(),
|
||||
ScrollbarPlugin,
|
||||
RapierPhysicsPlugin::<()>::default()
|
||||
.with_custom_initialization(RapierContextInitialization::InitializeDefaultRapierContext {
|
||||
integration_parameters: IntegrationParameters {
|
||||
length_unit: PIXELS_PER_METER,
|
||||
..default()
|
||||
},
|
||||
rapier_configuration: RapierConfiguration {
|
||||
gravity: Vec2::ZERO,
|
||||
physics_pipeline_active: true,
|
||||
scaled_shape_subdivision: 10,
|
||||
force_update_from_transform_changes: false,
|
||||
},
|
||||
}),
|
||||
RapierDebugRenderPlugin::default(),
|
||||
))
|
||||
.init_state::<GameState>()
|
||||
.insert_resource(ui::WindowSize::default())
|
||||
.add_systems(Startup, (player::setup_player, setup_global))
|
||||
.add_systems(Startup, (player::setup_player, setup_global, layout::setup_world))
|
||||
.add_systems(Update, (
|
||||
player::handle_input,
|
||||
ui::update_window_size,
|
||||
ui::handle_input,
|
||||
insert_entity_name,
|
||||
layout::detect_interact_collisions,
|
||||
))
|
||||
.add_systems(OnEnter(GameState::Inventory), inventory::ui::setup_ui_inventory)
|
||||
.add_systems(OnExit(GameState::Inventory), inventory::ui::clear_ui_inventory)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue