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
13
14namespace porytiles2 {
15
20 public:
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
34
35 private:
36 DomainConfig *config_;
37 TextFormatter *format_;
38 UserDiagnostics *diag_;
39 TilePrinter *tile_printer_;
40};
41
42} // namespace porytiles2
A result type that maintains a chainable sequence of errors for debugging and error reporting.
Interface that defines a complete domain layer configuration.
Service that compiles a primary Tileset.
ChainableResult< std::unique_ptr< Tileset > > compile_patch_tiles_fixed_pals_fixed(const Tileset &tileset)
PrimaryTilesetCompiler(gsl::not_null< DomainConfig * > config, gsl::not_null< TextFormatter * > format, gsl::not_null< UserDiagnostics * > diag, gsl::not_null< TilePrinter * > tile_printer)
ChainableResult< std::unique_ptr< Tileset > > compile(const Tileset &tileset)
Abstract base class for applying text styling with context-aware formatting.
A collection of printer functions for various tile types.
A complete tileset containing both Porytiles and Porymap components.
Definition tileset.hpp:14
Abstract interface for structured error reporting and diagnostic output.