2
0
mirror of https://github.com/Laupetin/OpenAssetTools.git synced 2026-01-12 11:41:50 +00:00

add basis for code rendering

This commit is contained in:
Jan
2021-02-20 02:33:40 +01:00
parent 48afb4d514
commit d4a98b7c52
17 changed files with 571 additions and 24 deletions

View File

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