Porytiles
Loading...
Searching...
No Matches
project_tileset_anims_modifier.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <filesystem>
4#include <string>
5
6#include "gsl/pointers"
7
11
12namespace porytiles {
13
37 public:
46 std::filesystem::path project_root,
47 gsl::not_null<const InfraConfig *> config,
48 gsl::not_null<const UserDiagnostics *> diagnostics);
49
68 [[nodiscard]] ChainableResult<void>
69 wire_include_for_tileset(const std::string &tileset_name, bool is_secondary) const;
70
85 [[nodiscard]] ChainableResult<void>
86 remove_include_for_tileset(const std::string &tileset_name, bool is_secondary) const;
87
88 private:
89 std::filesystem::path project_root_;
90 const InfraConfig *config_;
91 const UserDiagnostics *diagnostics_;
92};
93
94} // namespace porytiles
A result type that maintains a chainable sequence of errors for debugging and error reporting.
Interface that defines a complete infra layer configuration.
Modifies tileset_anims.c to include Porytiles-managed animation code headers.
ChainableResult< void > wire_include_for_tileset(const std::string &tileset_name, bool is_secondary) const
Adds an #include directive for the tileset's generated animation code.
ChainableResult< void > remove_include_for_tileset(const std::string &tileset_name, bool is_secondary) const
Removes the #include directive for the tileset's generated animation code.
Abstract class for structured error reporting and diagnostic output.