summaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs38
1 files changed, 9 insertions, 29 deletions
diff --git a/src/main.rs b/src/main.rs
index 704a276..967484f 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -6,7 +6,6 @@ mod renderer;
mod sim;
use futures::executor;
-use glam::Vec2;
use rand::random_range;
use std::{collections::VecDeque, sync::Arc, time::Instant};
use winit::{
@@ -20,7 +19,10 @@ use crate::{
camera::Camera,
config::WINDOW_TITLE,
content::{
- entities::{entity_cube::entity_cube_def, entity_grenade::entity_grenade_def},
+ entities::{
+ entity_bullet_emitter::entity_bullet_emitter_def, entity_cube::entity_cube_def,
+ entity_grenade::entity_grenade_def,
+ },
materials::MaterialId,
},
input::{
@@ -28,12 +30,7 @@ use crate::{
InputManager,
},
renderer::RendererState,
- sim::{
- cell::Cell,
- lib::force::apply_bullet,
- rb_manager::DebugRenderMode,
- sim_manager::{SimCtx, SimManager},
- },
+ sim::{cell::Cell, rb_manager::DebugRenderMode, sim_manager::SimManager},
};
pub type Error = Box<dyn std::error::Error>;
@@ -59,9 +56,6 @@ struct App {
window: Option<Arc<Window>>,
renderer_state: Option<RendererState>,
- // tests
- bullet_origin: Option<Vec2>,
-
// game
input_manager: InputManager,
camera: Option<Camera>,
@@ -98,22 +92,10 @@ impl App {
}
if self.input_manager.pressed(Input::Action3) {
- if let Some(origin) = self.bullet_origin {
- apply_bullet(
- &mut SimCtx {
- input_manager: &self.input_manager,
- cell_manager: &mut sim.cell_manager,
- particle_manager: &mut sim.particle_manager,
- rb_manager: &mut sim.rb_manager,
- },
- origin,
- self.input_manager.world_mouse_pos,
- 800,
- );
- self.bullet_origin = None;
- } else {
- self.bullet_origin = Some(self.input_manager.world_mouse_pos);
- }
+ sim.create_entity(entity_bullet_emitter_def(
+ self.input_manager.world_mouse_pos,
+ 3.0,
+ ));
}
// --TEST DRAWING--
@@ -166,8 +148,6 @@ impl Default for App {
window: None,
renderer_state: None,
- bullet_origin: None,
-
input_manager: InputManager::new(),
camera: None,