campaign_loader.h 464 B

12345678910111213141516171819
  1. #pragma once
  2. #include "campaign_definition.h"
  3. #include <QJsonObject>
  4. #include <QString>
  5. namespace Game::Campaign {
  6. class CampaignLoader {
  7. public:
  8. static auto loadFromJsonFile(const QString &file_path,
  9. CampaignDefinition &out_campaign,
  10. QString *error_msg = nullptr) -> bool;
  11. private:
  12. static auto parseCampaignMission(const QJsonObject &obj) -> CampaignMission;
  13. };
  14. } // namespace Game::Campaign