upd: change event bus

- Make `.subscribeOnce` return listener id
- Make `.cancel` and `.isCanceled` methods in `MscEvent` implemented
This commit is contained in:
Samsonium
2026-09-28 17:33:03 +03:00
parent 8ea4bf45ba
commit 1978a24d1e
2 changed files with 14 additions and 5 deletions
+12 -3
View File
@@ -18,10 +18,19 @@ public:
virtual std::string getName() const = 0;
/// @brief Is current event is canceled
virtual bool isCanceled() const = 0;
bool isCanceled() const
{
return canceled;
}
/// @brief Cancel current event
virtual void cancel() = 0;
void cancel()
{
canceled = true;
}
private:
bool canceled = false;
};
/// @brief Engine event bus
@@ -47,7 +56,7 @@ public:
/// @brief Subscribe to specified event and execute once on publish
/// @param name event name
/// @param listener event handler
void subscribeOnce(const std::string &name, Listener listener);
SubscriptionId subscribeOnce(const std::string &name, Listener listener);
/// @brief Unsubscribe listener by its own id
/// @param id subscription id