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.
31 lines
818 B
31 lines
818 B
2 years ago
|
#include "EventListener.h"
|
||
|
#include "Achievements.h"
|
||
|
#include "Util.h"
|
||
|
|
||
|
auto EventListener::GetSingleton() -> EventListener*
|
||
|
{
|
||
|
static EventListener singleton{};
|
||
|
return std::addressof(singleton);
|
||
|
}
|
||
|
|
||
|
void EventListener::Install()
|
||
|
{
|
||
|
RE::UI::GetSingleton()->AddEventSink<RE::MenuOpenCloseEvent>(GetSingleton());
|
||
|
}
|
||
|
|
||
|
auto EventListener::ProcessEvent(
|
||
|
const RE::MenuOpenCloseEvent* a_event,
|
||
|
RE::BSTEventSource<RE::MenuOpenCloseEvent>* a_eventSource)
|
||
|
-> RE::BSEventNotifyControl
|
||
|
{
|
||
|
if (a_event->opening && a_event->menuName == "Main Menu") {
|
||
|
SKSE::GetTaskInterface()->AddTask([]() {
|
||
|
logger::info("Main menu opened, trying to init steam API.");
|
||
|
Achievements::startSteam();
|
||
|
});
|
||
|
RE::UI::GetSingleton()->RemoveEventSink<RE::MenuOpenCloseEvent>(GetSingleton());
|
||
|
}
|
||
|
|
||
|
return RE::BSEventNotifyControl::kContinue;
|
||
|
}
|