Zepha/src/game/ServerSubgame.h

49 lines
948 B
C
Raw Normal View History

#pragma once
#include <memory>
#include "Subgame.h"
#include "util/Types.h"
2020-08-13 00:55:18 -07:00
#include "lua/ServerLuaParser.h"
#include "game/atlas/ServerBiomeAtlas.h"
#include "game/atlas/asset/AssetStorage.h"
#include "game/atlas/ServerDefinitionAtlas.h"
class ServerWorld;
class ServerClients;
/**
* Stores all subgame data for a server instance, including
* block & item definitions, the lua sandbox, assets, and textures.
*/
class ServerSubgame : public Subgame {
public:
ServerSubgame(const string& subgame, usize seed);
2020-11-08 22:57:34 -08:00
2021-09-23 23:16:23 -07:00
~ServerSubgame() {};
2020-11-08 22:57:34 -08:00
void init(WorldPtr world);
void update(f64 delta);
2020-11-08 22:57:34 -08:00
string subgamePath;
2020-11-08 22:57:34 -08:00
ServerDefinitionAtlas& getDefs() override { return *defs; };
ServerBiomeAtlas& getBiomes() override { return *biomes; };
ServerLuaParser& getParser() override { return *lua; };
AssetStorage assets;
private:
2020-11-08 22:57:34 -08:00
uptr<ServerLuaParser> lua;
uptr<ServerBiomeAtlas> biomes;
uptr<ServerDefinitionAtlas> defs;
};