#include "EventListener.h" #include "ArtifactTracker.h" auto EventListener::GetSingleton() -> EventListener* { static EventListener singleton{}; return std::addressof(singleton); } void EventListener::Install() { const auto eventSource = RE::ScriptEventSourceHolder::GetSingleton(); eventSource->AddEventSink(EventListener::GetSingleton()); eventSource->AddEventSink(EventListener::GetSingleton()); } auto EventListener::ProcessEvent( const RE::TESActorLocationChangeEvent* a_event, RE::BSTEventSource* a_eventSource) -> RE::BSEventNotifyControl { if (a_event->actor && a_event->actor->IsPlayerRef()) { ArtifactTracker::SetHomeLocation(a_event->newLoc); } return RE::BSEventNotifyControl::kContinue; } auto EventListener::ProcessEvent( const RE::TESContainerChangedEvent* a_event, RE::BSTEventSource* a_eventSource) -> RE::BSEventNotifyControl { ArtifactTracker::OnContainerChanged(a_event); return RE::BSEventNotifyControl::kContinue; }