Porytiles
Loading...
Searching...
No Matches
primary_tileset_compiler.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include <memory>
4
5
#include "gsl/pointers"
6
7
#include "
porytiles2/domain/config/domain_config.hpp
"
8
#include "
porytiles2/domain/models/tileset.hpp
"
9
#include "
porytiles2/domain/services/tile_printer.hpp
"
10
#include "
porytiles2/utilities/text/text_formatter.hpp
"
11
#include "
porytiles2/xcut/diagnostics/user_diagnostics.hpp
"
12
#include "
porytiles2/xcut/result/chainable_result.hpp
"
13
14
namespace
porytiles2
{
15
19
class
PrimaryTilesetCompiler
{
20
public
:
21
explicit
PrimaryTilesetCompiler
(
22
gsl::not_null<DomainConfig *> config,
23
gsl::not_null<TextFormatter *> format,
24
gsl::not_null<UserDiagnostics *> diag,
25
gsl::not_null<TilePrinter *> tile_printer)
26
: config_{config}, format_{format}, diag_{diag}, tile_printer_{tile_printer}
27
{
28
}
29
30
[[nodiscard]]
ChainableResult<std::unique_ptr<Tileset>
>
compile
(
const
Tileset
&tileset);
31
32
[[nodiscard]]
ChainableResult<std::unique_ptr<Tileset>
>
33
compile_patch_tiles_fixed_pals_fixed
(
const
Tileset
&tileset);
34
35
private
:
36
DomainConfig
*config_;
37
TextFormatter
*format_;
38
UserDiagnostics
*diag_;
39
TilePrinter
*tile_printer_;
40
};
41
42
}
// namespace porytiles2
chainable_result.hpp
porytiles2::ChainableResult
A result type that maintains a chainable sequence of errors for debugging and error reporting.
Definition
chainable_result.hpp:31
porytiles2::DomainConfig
Interface that defines a complete domain layer configuration.
Definition
domain_config.hpp:28
porytiles2::PrimaryTilesetCompiler
Service that compiles a primary Tileset.
Definition
primary_tileset_compiler.hpp:19
porytiles2::PrimaryTilesetCompiler::compile_patch_tiles_fixed_pals_fixed
ChainableResult< std::unique_ptr< Tileset > > compile_patch_tiles_fixed_pals_fixed(const Tileset &tileset)
Definition
primary_tileset_compiler.cpp:171
porytiles2::PrimaryTilesetCompiler::PrimaryTilesetCompiler
PrimaryTilesetCompiler(gsl::not_null< DomainConfig * > config, gsl::not_null< TextFormatter * > format, gsl::not_null< UserDiagnostics * > diag, gsl::not_null< TilePrinter * > tile_printer)
Definition
primary_tileset_compiler.hpp:21
porytiles2::PrimaryTilesetCompiler::compile
ChainableResult< std::unique_ptr< Tileset > > compile(const Tileset &tileset)
Definition
primary_tileset_compiler.cpp:32
porytiles2::TextFormatter
Abstract base class for applying text styling with context-aware formatting.
Definition
text_formatter.hpp:235
porytiles2::TilePrinter
A collection of printer functions for various tile types.
Definition
tile_printer.hpp:14
porytiles2::Tileset
A complete tileset containing both Porytiles and Porymap components.
Definition
tileset.hpp:14
porytiles2::UserDiagnostics
Abstract interface for structured error reporting and diagnostic output.
Definition
user_diagnostics.hpp:30
domain_config.hpp
porytiles2
Definition
app_config.hpp:10
text_formatter.hpp
tile_printer.hpp
tileset.hpp
user_diagnostics.hpp
Porytiles2
include
porytiles2
domain
services
primary_tileset_compiler.hpp
Generated by
1.9.8