2020-07-25 20:19:18 -07:00
|
|
|
#include "ServerSubgame.h"
|
2020-07-06 18:34:59 -07:00
|
|
|
|
2020-08-13 00:55:18 -07:00
|
|
|
#include "server/ServerClients.h"
|
2019-06-10 23:53:24 -07:00
|
|
|
|
2021-06-21 22:09:35 -07:00
|
|
|
ServerSubgame::ServerSubgame(const string& subgame, usize seed) :
|
2020-11-08 22:57:34 -08:00
|
|
|
subgamePath("../subgames/" + subgame + "/"),
|
2021-06-21 22:09:35 -07:00
|
|
|
defs(make_unique<ServerDefinitionAtlas>()),
|
|
|
|
biomes(make_unique<ServerBiomeAtlas>(seed)),
|
|
|
|
lua(make_unique<ServerLuaParser>(*this)) {
|
2020-11-08 22:57:34 -08:00
|
|
|
|
|
|
|
if (subgame.empty()) throw std::runtime_error("No subgame specified.");
|
2021-09-23 23:16:23 -07:00
|
|
|
if (!std::filesystem::exists(subgamePath)) throw std::runtime_error("Subgame does not exist.");
|
2019-12-10 15:14:59 -08:00
|
|
|
}
|
|
|
|
|
2020-08-02 17:16:40 -07:00
|
|
|
void ServerSubgame::init(WorldPtr world) {
|
2020-11-08 22:57:34 -08:00
|
|
|
lua->init(world, subgamePath);
|
2019-06-10 23:53:24 -07:00
|
|
|
}
|
|
|
|
|
2020-07-30 22:07:00 -07:00
|
|
|
void ServerSubgame::update(double delta) {
|
2020-11-08 22:57:34 -08:00
|
|
|
lua->update(delta);
|
2019-06-15 23:04:10 -07:00
|
|
|
}
|