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
8
#include "
porytiles/domain/config/domain_config.hpp
"
9
#include "
porytiles/domain/models/porytiles_tileset_component.hpp
"
10
#include "
porytiles/domain/services/enum_map_provider.hpp
"
11
#include "
porytiles/utilities/result/chainable_result.hpp
"
12
13
namespace
porytiles
{
14
24
class
TilesetCreator
{
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
39
[[nodiscard]]
ChainableResult<std::unique_ptr<PorytilesTilesetComponent>
>
40
create_sample_primary_porytiles_component
(
const
std::string &tileset_name)
const
;
41
46
[[nodiscard]]
ChainableResult<std::unique_ptr<PorytilesTilesetComponent>
>
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
chainable_result.hpp
porytiles::ChainableResult
A result type that maintains a chainable sequence of errors for debugging and error reporting.
Definition
chainable_result.hpp:29
porytiles::DomainConfig
Interface that defines a complete domain layer configuration.
Definition
domain_config.hpp:33
porytiles::EnumMapProvider
Abstract interface for providing two-way name/value mappings for an enumerated attribute field.
Definition
enum_map_provider.hpp:25
porytiles::TilesetCreator
Domain service for creating new tilesets from scratch.
Definition
tileset_creator.hpp:24
porytiles::TilesetCreator::create_sample_primary_porytiles_component
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.
Definition
tileset_creator.cpp:2909
porytiles::TilesetCreator::create_sample_secondary_porytiles_component
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.
Definition
tileset_creator.cpp:2972
porytiles::TilesetCreator::TilesetCreator
TilesetCreator(gsl::not_null< const DomainConfig * > config, gsl::not_null< const EnumMapProvider * > behavior_map)
Constructs a TilesetCreator with the given dependencies.
Definition
tileset_creator.hpp:30
domain_config.hpp
enum_map_provider.hpp
porytiles
Definition
app_config.hpp:12
porytiles_tileset_component.hpp
porytiles
include
porytiles
domain
services
tileset_creator.hpp
Generated by
1.9.8