Porytiles
Loading...
Searching...
No Matches
tileset_creator.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <memory>
4#include <string>
5
6#include "gsl/pointers"
7
12
13namespace porytiles {
14
25 public:
30 TilesetCreator(gsl::not_null<const DomainConfig *> config, gsl::not_null<const EnumMapProvider *> behavior_map)
31 : config_{config}, behavior_map_{behavior_map}
32 {
33 }
34
40 create_sample_primary_porytiles_component(const std::string &tileset_name) const;
41
47 create_sample_secondary_porytiles_component(const std::string &tileset_name) const;
48
49 private:
50 const DomainConfig *config_;
51 const EnumMapProvider *behavior_map_;
52};
53
54} // namespace porytiles
A result type that maintains a chainable sequence of errors for debugging and error reporting.
Interface that defines a complete domain layer configuration.
Abstract interface for providing two-way name/value mappings for an enumerated attribute field.
Domain service for creating new tilesets from scratch.
ChainableResult< std::unique_ptr< PorytilesTilesetComponent > > create_sample_primary_porytiles_component(const std::string &tileset_name) const
Creates a new basic primary PorytilesTilesetComponent with some default assets.
ChainableResult< std::unique_ptr< PorytilesTilesetComponent > > create_sample_secondary_porytiles_component(const std::string &tileset_name) const
Creates a new basic secondary PorytilesTilesetComponent with some default assets.
TilesetCreator(gsl::not_null< const DomainConfig * > config, gsl::not_null< const EnumMapProvider * > behavior_map)
Constructs a TilesetCreator with the given dependencies.