SPARK  0.1.0
A general purpose game engine written in C++.
Loading...
Searching...
No Matches
EventDispatcher.h
1#pragma once
2
3#include "spark/events/Event.h"
4#include "spark/events/Export.h"
5
6namespace spark::events
7{
11 class EventDispatcher final
12 {
13 public:
18 explicit EventDispatcher(Event& event);
19 ~EventDispatcher() = default;
20
21 EventDispatcher(const EventDispatcher& other) = delete;
22 EventDispatcher(EventDispatcher&& other) noexcept = delete;
23 EventDispatcher& operator=(const EventDispatcher& other) = delete;
24 EventDispatcher& operator=(EventDispatcher&& other) noexcept = delete;
25
33 template <typename T, typename F>
34 [[nodiscard]] bool dispatch(const F& func);
35
36 private:
37 Event& m_event;
38 };
39}
40
41#include "spark/events/impl/EventDispatcher.h"
A class that dispatches events to the appropriate event handler.
Definition EventDispatcher.h:12
EventDispatcher(Event &event)
Instantiates a new EventDispatcher for the given event.
Definition EventDispatcher.h:5
bool dispatch(const F &func)
Dispatches the event to the appropriate event handler.
Definition EventDispatcher.h:9
A base class for all events in SPARK.
Definition Event.h:53