Enderal SE https://mod.pub/enderal-se/38-enderal-se
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
1.2 KiB
42 lines
1.2 KiB
#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;
|
|
}; |