#include #include #include PapyrusService::PapyrusService(entt::dispatcher& aDispatcher) noexcept { m_papyrusFunctionRegisterConnection = aDispatcher.sink().connect<&PapyrusService::HandlePapyrusFunctionEvent>(this); } const void* PapyrusService::Get(const String& acNamespace, const String& acFunction) const noexcept { const auto itor = m_functions.find(acNamespace + "::" + acFunction); if (itor != std::end(m_functions)) return itor->second; return nullptr; } void PapyrusService::HandlePapyrusFunctionEvent(const PapyrusFunctionRegisterEvent& acEvent) noexcept { m_functions[acEvent.Namespace + "::" + acEvent.Name] = acEvent.Function; }