aboutsummaryrefslogtreecommitdiff
path: root/src/engine/user
diff options
context:
space:
mode:
authorHampusM <hampus@hampusmat.com>2022-05-23 18:12:39 +0200
committerHampusM <hampus@hampusmat.com>2022-06-13 17:56:59 +0200
commit18e1db1fb8692752f64d3912c3b5ff1818be9028 (patch)
tree38ccd9b4f29e5b2fa0fc07f84b425aa80378301a /src/engine/user
parent65ca89da7933b5927e31ca6f29f28a24b2838ebe (diff)
refactor: replace last subscriber patterned code
Diffstat (limited to 'src/engine/user')
-rw-r--r--src/engine/user/cursor.cpp37
-rw-r--r--src/engine/user/cursor.hpp9
-rw-r--r--src/engine/user/input.hpp1
3 files changed, 2 insertions, 45 deletions
diff --git a/src/engine/user/cursor.cpp b/src/engine/user/cursor.cpp
index 945433b..97e9104 100644
--- a/src/engine/user/cursor.cpp
+++ b/src/engine/user/cursor.cpp
@@ -18,11 +18,9 @@ void CursorController::move(const Vector2 &direction, const uint32_t &amount) no
std::cout.flush();
_position = _position.to_direction(direction, static_cast<Vector2::Value>(amount));
-
- notify_subscribers(CursorEvent::POSITION_CHANGE, _position);
}
-void CursorController::move_to(const Vector2 &position, bool silent) noexcept
+void CursorController::move_to(const Vector2 &position) noexcept
{
fmt::print(
MOVE_CURSOR_TO,
@@ -32,11 +30,6 @@ void CursorController::move_to(const Vector2 &position, bool silent) noexcept
std::cout.flush();
_position = position;
-
- if (!silent)
- {
- notify_subscribers(CursorEvent::POSITION_CHANGE, position);
- }
}
auto CursorController::where() const noexcept -> Vector2
@@ -55,8 +48,6 @@ void CursorController::ensure_position() noexcept
scanf("\033[%u;%uR", &vector2_options.y, &vector2_options.x);
_position = Vector2(vector2_options);
-
- notify_subscribers(CursorEvent::POSITION_CHANGE, _position);
}
void CursorController::hide() noexcept
@@ -70,29 +61,3 @@ void CursorController::show() noexcept
fmt::print(CURSOR_VISIBLE, fmt::arg("esc", ESC));
std::cout.flush();
}
-
-void CursorController::subscribe(
- const Event &event,
- const Subscriber &subscriber) noexcept
-{
- if (_subscribers.count(event) == 0)
- {
- _subscribers.insert({event, std::vector<Subscriber>()});
- }
-
- _subscribers.at(event).push_back(subscriber);
-}
-
-void CursorController::notify_subscribers(const Event &event, const Context &context)
- const noexcept
-{
- if (_subscribers.count(event) == 0)
- {
- return;
- }
-
- for (const auto &subscriber : _subscribers.at(event))
- {
- subscriber->update(context);
- }
-}
diff --git a/src/engine/user/cursor.hpp b/src/engine/user/cursor.hpp
index ae6fe3c..de8c3ae 100644
--- a/src/engine/user/cursor.hpp
+++ b/src/engine/user/cursor.hpp
@@ -38,7 +38,7 @@ public:
void move(const Vector2 &direction, const uint32_t &amount) noexcept override;
- void move_to(const Vector2 &position, bool silent) noexcept override;
+ void move_to(const Vector2 &position) noexcept override;
[[nodiscard]] auto where() const noexcept -> Vector2 override;
@@ -48,13 +48,6 @@ public:
void show() noexcept override;
- void subscribe(const Event &event, const Subscriber &subscriber) noexcept override;
-
- void notify_subscribers(const Event &event, const Context &context)
- const noexcept override;
-
private:
Vector2 _position;
-
- std::unordered_map<CursorEvent, std::vector<Subscriber>> _subscribers;
};
diff --git a/src/engine/user/input.hpp b/src/engine/user/input.hpp
index 2fb97ac..3cec1b8 100644
--- a/src/engine/user/input.hpp
+++ b/src/engine/user/input.hpp
@@ -1,7 +1,6 @@
#pragma once
#include "interfaces/input.hpp"
-#include "interfaces/subscriber.hpp"
#include <yacppdic/auto_wirable.hpp>