Porytiles
Loading...
Searching...
No Matches
project_tileset_metadata_writer.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <filesystem>
4#include <map>
5#include <string>
6
7#include "gsl/pointers"
8
11
12namespace porytiles {
13
24 public:
25 ProjectTilesetMetadataWriter(std::filesystem::path project_root, gsl::not_null<const TextFormatter *> format);
26
38 [[nodiscard]] ChainableResult<void>
39 update_callback(const std::string &tileset_name, const std::string &new_callback_value) const;
40
53 [[nodiscard]] ChainableResult<void>
54 update_fields(const std::string &tileset_name, const std::map<std::string, std::string> &field_updates) const;
55
69 [[nodiscard]] ChainableResult<void> update_to_porytiles_managed(const std::string &tileset_name) const;
70
96 [[nodiscard]] ChainableResult<void> create_tileset_struct(const std::string &tileset_name, bool is_secondary) const;
97
98 private:
99 std::filesystem::path project_root_;
100 const TextFormatter *format_;
101};
102
103} // namespace porytiles
A result type that maintains a chainable sequence of errors for debugging and error reporting.
Provides surgical update capability for tileset metadata in headers.h files.
ChainableResult< void > create_tileset_struct(const std::string &tileset_name, bool is_secondary) const
Creates a new tileset struct and appends it to headers.h.
ChainableResult< void > update_to_porytiles_managed(const std::string &tileset_name) const
Updates asset fields to Porytiles-managed values.
ChainableResult< void > update_callback(const std::string &tileset_name, const std::string &new_callback_value) const
Updates the .callback field for a specific tileset.
ChainableResult< void > update_fields(const std::string &tileset_name, const std::map< std::string, std::string > &field_updates) const
Updates multiple fields for a specific tileset in headers.h.
Abstract base class for applying text styling with context-aware formatting.