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/behavior_map_provider.hpp
"
11
#include "
porytiles/utilities/result/chainable_result.hpp
"
12
13
namespace
porytiles
{
14
26
class
TilesetCreator
{
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
45
[[nodiscard]]
ChainableResult<std::unique_ptr<PorytilesTilesetComponent>
>
46
create_sample_primary_porytiles_component
(
const
std::string &tileset_name)
const
;
47
54
[[nodiscard]]
ChainableResult<std::unique_ptr<PorytilesTilesetComponent>
>
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
behavior_map_provider.hpp
chainable_result.hpp
porytiles::BehaviorMapProvider
Abstract interface for providing two-way metatile behavior mappings.
Definition
behavior_map_provider.hpp:18
porytiles::ChainableResult
A result type that maintains a chainable sequence of errors for debugging and error reporting.
Definition
chainable_result.hpp:31
porytiles::DomainConfig
Interface that defines a complete domain layer configuration.
Definition
domain_config.hpp:37
porytiles::TilesetCreator
Domain service for creating new tilesets from scratch.
Definition
tileset_creator.hpp:26
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:2911
porytiles::TilesetCreator::TilesetCreator
TilesetCreator(gsl::not_null< const DomainConfig * > config, gsl::not_null< const BehaviorMapProvider * > behavior_map)
Constructs a TilesetCreator with the given dependencies.
Definition
tileset_creator.hpp:34
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:2973
domain_config.hpp
porytiles
Definition
app_config.hpp:12
porytiles_tileset_component.hpp
porytiles
include
porytiles
domain
services
tileset_creator.hpp
Generated by
1.9.8