#pragma once #include "factories/BaseFactory.h" #include "types/RawBuffer.h" class PM64CollisionBinaryExporter : public BaseExporter { ExportResult Export(std::ostream& write, std::shared_ptr data, std::string& entryName, YAML::Node& node, std::string* replacement) override; }; class PM64CollisionHeaderExporter : public BaseExporter { ExportResult Export(std::ostream& write, std::shared_ptr data, std::string& entryName, YAML::Node& node, std::string* replacement) override; }; #ifdef BUILD_UI class PM64CollisionFactoryUI : public BaseFactoryUI { public: float GetItemHeight(const ParseResultData& data) override; void DrawUI(const ParseResultData& data) override; }; #endif class PM64CollisionFactory : public BaseFactory { public: std::optional> parse(std::vector& buffer, YAML::Node& data) override; inline std::unordered_map> GetExporters() override { return { REGISTER(Header, PM64CollisionHeaderExporter) REGISTER(Binary, PM64CollisionBinaryExporter) }; } };