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
27 public:
34 TilesetCreator(gsl::not_null<const DomainConfig *> config, gsl::not_null<const BehaviorMapProvider *> behavior_map)
35 : config_{config}, behavior_map_{behavior_map}
36 {
37 }
38
46 create_sample_primary_porytiles_component(const std::string &tileset_name) const;
47
55 create_sample_secondary_porytiles_component(const std::string &tileset_name) const;
56
57 private:
58 const DomainConfig *config_;
59 const BehaviorMapProvider *behavior_map_;
60};
61
62} // namespace porytiles
Abstract interface for providing two-way metatile behavior mappings.
A result type that maintains a chainable sequence of errors for debugging and error reporting.
Interface that defines a complete domain layer configuration.
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.
TilesetCreator(gsl::not_null< const DomainConfig * > config, gsl::not_null< const BehaviorMapProvider * > behavior_map)
Constructs a TilesetCreator with the given dependencies.
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.