diff options
author | HampusM <hampus@hampusmat.com> | 2022-05-23 18:12:39 +0200 |
---|---|---|
committer | HampusM <hampus@hampusmat.com> | 2022-06-13 17:56:59 +0200 |
commit | 18e1db1fb8692752f64d3912c3b5ff1818be9028 (patch) | |
tree | 38ccd9b4f29e5b2fa0fc07f84b425aa80378301a /src/engine/user/cursor.cpp | |
parent | 65ca89da7933b5927e31ca6f29f28a24b2838ebe (diff) |
refactor: replace last subscriber patterned code
Diffstat (limited to 'src/engine/user/cursor.cpp')
-rw-r--r-- | src/engine/user/cursor.cpp | 37 |
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); - } -} |