#pragma once

#include "adapters/eft/runtime/EftGameContext.h"
#include "features/quests/dependencies/IQuestGateway.h"

namespace ta::adapters::eft::quests
{
    class EftQuestGateway final : public ta::features::quests::dependencies::IQuestGateway
    {
    public:
        explicit EftQuestGateway(ta::adapters::eft::runtime::EftGameContext& context) noexcept
            : context_(context) {}

        [[nodiscard]] ta::features::quests::dependencies::QuestProcessResult process(
            const ta::features::quests::contracts::PendingQuestCommands& commands) override;

    private:
        ta::adapters::eft::runtime::EftGameContext& context_;
    };
}
