61 gsl::not_null<const TextFormatter *> format,
62 gsl::not_null<const BehaviorMapProvider *> behavior_map,
63 std::optional<BaseGame> base_game = std::nullopt,
66 : format_{format}, behavior_map_{behavior_map}, base_game_{base_game}, terrain_map_{terrain_map},
85 load(
const std::filesystem::path &path)
const;
90 std::optional<BaseGame> base_game_;
93 const std::unique_ptr<FileHighlightPrinter> file_printer_;
A service that loads metatile attributes from a CSV file.
AttributesCsvLoader(gsl::not_null< const TextFormatter * > format, gsl::not_null< const BehaviorMapProvider * > behavior_map, std::optional< BaseGame > base_game=std::nullopt, const TerrainTypeMapProvider *terrain_map=nullptr, const EncounterTypeMapProvider *encounter_map=nullptr)
Constructs an AttributesCsvLoader with required dependencies.
ChainableResult< std::map< std::size_t, MetatileAttribute > > load(const std::filesystem::path &path) const
Loads metatile attributes from a CSV file.
Abstract interface for providing two-way metatile behavior mappings.
A result type that maintains a chainable sequence of errors for debugging and error reporting.
Abstract interface for providing two-way metatile encounter type mappings.
A service for printing file lines with highlighted lines and line numbers.
Abstract interface for providing two-way metatile terrain type mappings.
Abstract base class for applying text styling with context-aware formatting.