23 lines
554 B
C++
23 lines
554 B
C++
#pragma once
|
|
|
|
#include <string>
|
|
|
|
namespace FRG {
|
|
|
|
struct CampaignConfig;
|
|
struct LocationConfig;
|
|
|
|
// Graphics-free administrative lifecycle used by local and standalone hosts.
|
|
class IGameServerLifecycle {
|
|
public:
|
|
virtual ~IGameServerLifecycle() = default;
|
|
|
|
virtual void startCampaign(
|
|
const CampaignConfig& campaign, const std::string& zipFile,
|
|
bool createLocalPlayer, bool enableTestBot) = 0;
|
|
virtual bool prepareLocation(const LocationConfig& config) = 0;
|
|
virtual void activateLocation(const std::string& locationId) = 0;
|
|
};
|
|
|
|
} // namespace FRG
|