aboutsummaryrefslogtreecommitdiff
path: root/src/engine/user/cursor.cpp
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/cursor.cpp
parent65ca89da7933b5927e31ca6f29f28a24b2838ebe (diff)
refactor: replace last subscriber patterned code
Diffstat (limited to 'src/engine/user/cursor.cpp')
-rw-r--r--src/engine/user/cursor.cpp37
1 files changed, 1 insertions, 36 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);
- }
-}