#pragma once #include #include #include "EventListenerResult.h" template struct IEventSource { virtual ~IEventSource() = default; virtual GUID Listen(TEventType event, std::function function) noexcept = 0; virtual void Unlisten(TEventType event, GUID uuid) noexcept = 0; };