#include "bootstrap/modules/QuestModule.h"

namespace ta::bootstrap::modules
{
    QuestModule::QuestModule(ta::adapters::eft::runtime::EftGameContext& context)
        : gateway_(context), feature_(gateway_),
          ports_(ModulePorts::bind(feature_, nullptr,
                                   nullptr,
                                   "runtime.game.tick.quests",
                                   "runtime.raid.reset.quests"))
    {
    }
    ta::features::quests::contracts::IQuestQueries& QuestModule::queries() noexcept { return feature_; }
    const ta::features::quests::contracts::IQuestQueries& QuestModule::queries() const noexcept { return feature_; }
    ta::features::quests::contracts::IQuestCommands& QuestModule::commands() noexcept { return feature_; }
    ta::features::quests::QuestDiagnosticsSnapshot QuestModule::diagnostics_snapshot() const noexcept
    {
        return feature_.diagnostics_snapshot();
    }
}
