diff options
Diffstat (limited to 'loader/scenery-traits.hpp')
-rw-r--r-- | loader/scenery-traits.hpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/loader/scenery-traits.hpp b/loader/scenery-traits.hpp index 6f70f09b..13d52708 100644 --- a/loader/scenery-traits.hpp +++ b/loader/scenery-traits.hpp @@ -1 +1,27 @@ #pragma once +#include "atlas-loader-fwd.hpp" +#include <memory> + +namespace floormat { struct scenery_cell; struct scenery_proto; } + +namespace floormat::loader_detail { + +template<> struct atlas_loader_traits<scenery_proto> +{ + using Atlas = scenery_proto; + using Cell = scenery_cell; + using Self = atlas_loader_traits<Atlas>; + using Storage = atlas_storage<Atlas, Self>; + + static StringView loader_name(); + static const scenery_proto& atlas_of(const Cell& x); + static scenery_proto& atlas_of(Cell& x); + static StringView name_of(const Cell& x); + static String& name_of(Cell& x); + static void atlas_list(Storage& st); + static Cell make_invalid_atlas(Storage& st); + static scenery_proto make_atlas(StringView name, const Cell& c); + static Optional<Cell> make_cell(StringView name); +}; + +} // namespace floormat::loader_detail |