aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/crepe/facade/SDLContext.cpp2
-rw-r--r--src/crepe/system/InputSystem.cpp13
-rw-r--r--src/crepe/system/InputSystem.h3
-rw-r--r--src/test/InputTest.cpp16
4 files changed, 20 insertions, 14 deletions
diff --git a/src/crepe/facade/SDLContext.cpp b/src/crepe/facade/SDLContext.cpp
index aba7ce7..645a24f 100644
--- a/src/crepe/facade/SDLContext.cpp
+++ b/src/crepe/facade/SDLContext.cpp
@@ -17,7 +17,7 @@
#include "../api/Camera.h"
#include "../api/Config.h"
-#include "../api/EventManager.h"
+#include "../manager/EventManager.h"
#include "../api/Sprite.h"
#include "../api/Texture.h"
#include "../util/Log.h"
diff --git a/src/crepe/system/InputSystem.cpp b/src/crepe/system/InputSystem.cpp
index afd71fe..d24a33d 100644
--- a/src/crepe/system/InputSystem.cpp
+++ b/src/crepe/system/InputSystem.cpp
@@ -1,14 +1,15 @@
-#include "../ComponentManager.h"
+#include "../manager/ComponentManager.h"
+#include "../manager/EventManager.h"
#include "../api/Button.h"
-#include "../api/EventManager.h"
+
#include "InputSystem.h"
using namespace crepe;
void InputSystem::update() {
- ComponentManager & mgr = this->component_manager;
- EventManager & event_mgr = EventManager::get_instance();
+ ComponentManager& mgr = this->mediator.component_manager;
+ EventManager & event_mgr = this->mediator.event_manager;
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>();
@@ -118,7 +119,7 @@ void InputSystem::update() {
}
void InputSystem::handle_move(const SDLContext::EventData & event_data,
const int world_mouse_x, const int world_mouse_y) {
- ComponentManager & mgr = this->component_manager;
+ ComponentManager& mgr = this->mediator.component_manager;
RefVector<Button> buttons = mgr.get_components_by_type<Button>();
@@ -146,7 +147,7 @@ void InputSystem::handle_move(const SDLContext::EventData & event_data,
void InputSystem::handle_click(const MouseButton & mouse_button, const int world_mouse_x,
const int world_mouse_y) {
- ComponentManager & mgr = this->component_manager;
+ ComponentManager& mgr = this->mediator.component_manager;
RefVector<Button> buttons = mgr.get_components_by_type<Button>();
diff --git a/src/crepe/system/InputSystem.h b/src/crepe/system/InputSystem.h
index eafeb91..0c42bd6 100644
--- a/src/crepe/system/InputSystem.h
+++ b/src/crepe/system/InputSystem.h
@@ -31,8 +31,7 @@ public:
private:
//! Stores the last position of the mouse when the button was pressed.
- ivec2 last_mouse_down_position{std::numeric_limits<int>::max(),
- std::numeric_limits<int>::max()};
+ ivec2 last_mouse_down_position;
//! Stores the last mouse button pressed.
MouseButton last_mouse_button = MouseButton::NONE;
diff --git a/src/test/InputTest.cpp b/src/test/InputTest.cpp
index f9b2fe7..73a9651 100644
--- a/src/test/InputTest.cpp
+++ b/src/test/InputTest.cpp
@@ -1,12 +1,13 @@
#include <gtest/gtest.h>
#define protected public
#define private public
-#include "api/EventManager.h"
+#include "manager/EventManager.h"
+#include "manager/ComponentManager.h"
#include "api/KeyCodes.h"
#include "system/InputSystem.h"
#include <SDL2/SDL.h>
#include <SDL2/SDL_keycode.h>
-#include <crepe/ComponentManager.h>
+#include "manager/Mediator.h"
#include <crepe/api/Button.h>
#include <crepe/api/Camera.h>
#include <crepe/api/GameObject.h>
@@ -21,14 +22,19 @@ using namespace crepe;
class InputTest : public ::testing::Test {
public:
- ComponentManager mgr{};
- InputSystem input_system{mgr};
+ Mediator mediator;
+ ComponentManager mgr{mediator};
+
+ InputSystem input_system{mediator};
EventManager & event_manager = EventManager::get_instance();
//GameObject camera;
protected:
- void SetUp() override { event_manager.clear(); }
+ void SetUp() override {
+ mediator.event_manager = event_manager;
+ mediator.component_manager = mgr;
+ event_manager.clear(); }
void simulate_mouse_click(int mouse_x, int mouse_y, Uint8 mouse_button) {
SDL_Event event;