From f2ba925d36dd3ef7c9f615f6ef2a7bf9ba4557a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?No=C3=A9?= <noe.artru@polytechnique.org> Date: Wed, 3 May 2023 22:10:38 +0200 Subject: [PATCH] Press shift to remove projectiles --- projet-code/scenes_inf443/base/src/ball.cpp | 7 +++++++ projet-code/scenes_inf443/base/src/ball.hpp | 1 + projet-code/scenes_inf443/base/src/scene.cpp | 3 +++ 3 files changed, 11 insertions(+) diff --git a/projet-code/scenes_inf443/base/src/ball.cpp b/projet-code/scenes_inf443/base/src/ball.cpp index b6fcb67..7a32f47 100644 --- a/projet-code/scenes_inf443/base/src/ball.cpp +++ b/projet-code/scenes_inf443/base/src/ball.cpp @@ -18,6 +18,13 @@ void ball::initialize(int n) } } +void ball::reset() { + N = 0; + pos.resize(N); + v.resize(N); + color.resize(N); +} + void ball::add_ball(vec3 new_pos, vec3 new_dir) { N++; pos.resize(N); diff --git a/projet-code/scenes_inf443/base/src/ball.hpp b/projet-code/scenes_inf443/base/src/ball.hpp index c1fa967..1e8fd58 100644 --- a/projet-code/scenes_inf443/base/src/ball.hpp +++ b/projet-code/scenes_inf443/base/src/ball.hpp @@ -16,6 +16,7 @@ struct ball { void initialize(int n); void simulate(float dt, float terrain_length); void add_ball(vec3 new_pos, vec3 new_dir); + void reset(); }; vec3 terrain_orientation(float x, float y, float terrain_length); diff --git a/projet-code/scenes_inf443/base/src/scene.cpp b/projet-code/scenes_inf443/base/src/scene.cpp index 7278b0f..2502873 100644 --- a/projet-code/scenes_inf443/base/src/scene.cpp +++ b/projet-code/scenes_inf443/base/src/scene.cpp @@ -381,6 +381,9 @@ void scene_structure::mouse_click_event() void scene_structure::keyboard_event() { camera_control.action_keyboard(environment.camera_view); + if(camera_control.inputs->keyboard.shift) { + projectiles.reset(); + } } void scene_structure::idle_frame() { -- GitLab