42 lines
1.2 KiB
C
42 lines
1.2 KiB
C
|
#pragma once
|
||
|
|
||
|
class EventListener :
|
||
|
public RE::BSTEventSink<SKSE::ModCallbackEvent>,
|
||
|
public RE::BSTEventSink<RE::TESContainerChangedEvent>,
|
||
|
public RE::BSTEventSink<RE::MenuOpenCloseEvent>,
|
||
|
public RE::BSTEventSink<RE::TESActivateEvent>
|
||
|
{
|
||
|
public:
|
||
|
~EventListener() = default;
|
||
|
EventListener(const EventListener&) = delete;
|
||
|
EventListener& operator=(const EventListener&) = delete;
|
||
|
EventListener& operator=(EventListener&&) = delete;
|
||
|
|
||
|
static auto GetSingleton() -> EventListener*;
|
||
|
|
||
|
static void Install();
|
||
|
|
||
|
auto ProcessEvent(
|
||
|
const RE::TESContainerChangedEvent* a_event,
|
||
|
RE::BSTEventSource<RE::TESContainerChangedEvent>* a_eventSource)
|
||
|
-> RE::BSEventNotifyControl override;
|
||
|
|
||
|
|
||
|
auto ProcessEvent(
|
||
|
const RE::MenuOpenCloseEvent* a_event,
|
||
|
RE::BSTEventSource<RE::MenuOpenCloseEvent>* a_eventSource)
|
||
|
-> RE::BSEventNotifyControl override;
|
||
|
|
||
|
auto ProcessEvent(
|
||
|
const SKSE::ModCallbackEvent* a_event,
|
||
|
RE::BSTEventSource<SKSE::ModCallbackEvent>* a_eventSource)
|
||
|
-> RE::BSEventNotifyControl override;
|
||
|
|
||
|
auto ProcessEvent(
|
||
|
const RE::TESActivateEvent* a_event,
|
||
|
RE::BSTEventSource<RE::TESActivateEvent>* a_eventSource)
|
||
|
-> RE::BSEventNotifyControl override;
|
||
|
|
||
|
private:
|
||
|
EventListener() = default;
|
||
|
};
|