#include "../graphics/CreatureSkin.hpp"
#include "../graphics/PlanetSurface.hpp"
#include "../graphics/SunSurface.hpp"
+#include "../world/Resource.hpp"
+#include "../world/Set.hpp"
+#include "../world/TileType.hpp"
#include <string>
namespace blobs {
+namespace io {
+ class TokenStreamReader;
+}
namespace app {
struct Assets {
std::string path;
- std::string tile_path;
+ std::string data_path;
std::string skin_path;
+ std::string tile_path;
+
+ struct {
+ world::Set<world::Resource> resources;
+ world::Set<world::TileType> tiles;
+ } data;
struct {
graphics::ArrayTexture tiles;
Assets(Assets &&) = delete;
Assets &operator =(Assets &&) = delete;
+ void ReadResources(io::TokenStreamReader &);
+ void ReadTileTypes(io::TokenStreamReader &);
+
void LoadTileTexture(const std::string &name, graphics::ArrayTexture &, int layer) const;
void LoadSkinTexture(const std::string &name, graphics::ArrayTexture &, int layer) const;