aboutsummaryrefslogtreecommitdiff
path: root/src/crepe
diff options
context:
space:
mode:
Diffstat (limited to 'src/crepe')
-rw-r--r--src/crepe/api/Button.h6
-rw-r--r--src/crepe/system/InputSystem.cpp7
-rw-r--r--src/crepe/system/InputSystem.h9
3 files changed, 9 insertions, 13 deletions
diff --git a/src/crepe/api/Button.h b/src/crepe/api/Button.h
index 290bb2f..06d64d6 100644
--- a/src/crepe/api/Button.h
+++ b/src/crepe/api/Button.h
@@ -42,7 +42,7 @@ public:
* This function is invoked whenever the button is clicked. It can be set to any
* function that matches the signature `void()`.
*/
- std::function<void()> on_click;
+ std::function<void()> on_click = nullptr;
/**
* \brief Callback function to be executed when the mouse enters the button's boundaries.
@@ -50,7 +50,7 @@ public:
* This function is triggered when the mouse cursor moves over the button, allowing
* custom actions like visual effects, highlighting, or sound effects.
*/
- std::function<void()> on_enter;
+ std::function<void()> on_enter = nullptr;
/**
* \brief Callback function to be executed when the mouse exits the button's boundaries.
@@ -58,7 +58,7 @@ public:
* This function is triggered when the mouse cursor moves out of the button's area,
* allowing custom actions like resetting visual effects or playing exit-related effects.
*/
- std::function<void()> on_exit;
+ std::function<void()> on_exit = nullptr;
private:
friend class InputSystem;
diff --git a/src/crepe/system/InputSystem.cpp b/src/crepe/system/InputSystem.cpp
index 72d728c..dca621e 100644
--- a/src/crepe/system/InputSystem.cpp
+++ b/src/crepe/system/InputSystem.cpp
@@ -11,11 +11,11 @@ void InputSystem::update() {
std::vector<SDLContext::EventData> event_list = SDLContext::get_instance().get_events();
RefVector<Button> buttons = mgr.get_components_by_type<Button>();
RefVector<Camera> cameras = mgr.get_components_by_type<Camera>();
-
+ OptionalRef<Camera> curr_cam_ref;
// Find the active camera
for (Camera & cam : cameras) {
if (!cam.active) continue;
- this->curr_cam_ref = cam;
+ curr_cam_ref = cam;
break;
}
if (!curr_cam_ref) return;
@@ -123,8 +123,7 @@ void InputSystem::handle_move(const SDLContext::EventData & event_data,
for (Button & button : buttons) {
RefVector<Transform> transform_vec
= mgr.get_components_by_id<Transform>(button.game_object_id);
- OptionalRef<Transform> transform(transform_vec.front().get());
- if (!transform) continue;
+ Transform & transform(transform_vec.front().get());
bool was_hovering = button.hover;
if (button.active
diff --git a/src/crepe/system/InputSystem.h b/src/crepe/system/InputSystem.h
index 53f2c4e..e65ad30 100644
--- a/src/crepe/system/InputSystem.h
+++ b/src/crepe/system/InputSystem.h
@@ -1,8 +1,8 @@
#pragma once
-#include "facade/SDLContext.h"
-#include "types.h"
-#include "util/OptionalRef.h"
+#include "../facade/SDLContext.h"
+#include "../types.h"
+#include "../util/OptionalRef.h"
#include "System.h"
@@ -30,9 +30,6 @@ public:
void update() override;
private:
- //! Reference to the currently active camera.
- OptionalRef<Camera> curr_cam_ref;
-
//! Stores the last position of the mouse when the button was pressed.
std::pair<int, int> last_mouse_down_position{INFINITY, INFINITY};