65 lines
2.0 KiB
C++
65 lines
2.0 KiB
C++
#pragma once
|
|
|
|
class EventListener :
|
|
public RE::BSTEventSink<SKSE::ModCallbackEvent>,
|
|
public RE::BSTEventSink<RE::TESContainerChangedEvent>,
|
|
public RE::BSTEventSink<RE::TESCellFullyLoadedEvent>,
|
|
public RE::BSTEventSink<RE::BGSActorCellEvent>,
|
|
public RE::BSTEventSink<RE::MenuOpenCloseEvent>,
|
|
public RE::BSTEventSink<RE::TESActivateEvent>,
|
|
public RE::BSTEventSink<RE::TESActorLocationChangeEvent>,
|
|
public RE::BSTEventSink<RE::InputEvent*>
|
|
{
|
|
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::TESCellFullyLoadedEvent* a_event,
|
|
RE::BSTEventSource<RE::TESCellFullyLoadedEvent>* a_eventSource)
|
|
-> RE::BSEventNotifyControl override;
|
|
|
|
auto ProcessEvent(
|
|
const RE::BGSActorCellEvent* a_event,
|
|
RE::BSTEventSource<RE::BGSActorCellEvent>* 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;
|
|
|
|
auto ProcessEvent(
|
|
const RE::TESActorLocationChangeEvent* a_event,
|
|
RE::BSTEventSource<RE::TESActorLocationChangeEvent>* a_eventSource)
|
|
-> RE::BSEventNotifyControl override;
|
|
|
|
RE::BSEventNotifyControl ProcessEvent(
|
|
RE::InputEvent* const* a_event,
|
|
RE::BSTEventSource<RE::InputEvent*>* a_eventSource)
|
|
override;
|
|
|
|
private:
|
|
EventListener() = default;
|
|
}; |