2
0
mirror of https://github.com/Laupetin/OpenAssetTools.git synced 2026-01-10 02:31:49 +00:00
Files
OpenAssetTools/src/ZoneCodeGeneratorLib/Generating/CodeGenerator.h
2026-01-05 17:43:53 +00:00

26 lines
703 B
C++

#pragma once
#include "ICodeTemplate.h"
#include "ZoneCodeGeneratorArguments.h"
#include <memory>
#include <string>
#include <unordered_map>
class CodeGenerator
{
public:
explicit CodeGenerator(const ZoneCodeGeneratorArguments* args);
bool GenerateCode(const IDataRepository* repository);
private:
void SetupTemplates();
bool GenerateCodeForTemplate(const RenderingContext& context, ICodeTemplate* codeTemplate) const;
static bool GetAssetWithName(const IDataRepository* repository, const std::string& name, StructureInformation*& asset);
const ZoneCodeGeneratorArguments* m_args;
std::unordered_map<std::string, std::unique_ptr<ICodeTemplate>> m_template_mapping;
};