#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(GetSingleton()); } auto EventListener::ProcessEvent( const RE::MenuOpenCloseEvent* a_event, RE::BSTEventSource* 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(GetSingleton()); } return RE::BSEventNotifyControl::kContinue; }