mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2026-09-09 07:27:05 +00:00
chore: add ability for zcg to generate files once per template
This commit is contained in:
@@ -14,7 +14,7 @@ namespace
|
||||
class Template final : BaseTemplate
|
||||
{
|
||||
public:
|
||||
Template(std::ostream& stream, const RenderingContext& context)
|
||||
Template(std::ostream& stream, const OncePerAssetRenderingContext& context)
|
||||
: BaseTemplate(stream, context)
|
||||
{
|
||||
}
|
||||
@@ -81,7 +81,7 @@ namespace
|
||||
};
|
||||
} // namespace
|
||||
|
||||
std::vector<CodeTemplateFile> AssetStructTestsTemplate::GetFilesToRender(const RenderingContext& context)
|
||||
std::vector<CodeTemplateFile> AssetStructTestsTemplate::GetFilesToRenderOncePerAsset(const OncePerAssetRenderingContext& context)
|
||||
{
|
||||
std::vector<CodeTemplateFile> files;
|
||||
|
||||
@@ -93,7 +93,7 @@ std::vector<CodeTemplateFile> AssetStructTestsTemplate::GetFilesToRender(const R
|
||||
return files;
|
||||
}
|
||||
|
||||
void AssetStructTestsTemplate::RenderFile(std::ostream& stream, const int fileTag, const RenderingContext& context)
|
||||
void AssetStructTestsTemplate::RenderOncePerAssetFile(std::ostream& stream, const CodeTemplateFileTag fileTag, const OncePerAssetRenderingContext& context)
|
||||
{
|
||||
Template t(stream, context);
|
||||
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
#pragma once
|
||||
|
||||
#include "Generating/ICodeTemplate.h"
|
||||
|
||||
class AssetStructTestsTemplate final : public ICodeTemplate
|
||||
{
|
||||
public:
|
||||
std::vector<CodeTemplateFile> GetFilesToRender(const RenderingContext& context) override;
|
||||
void RenderFile(std::ostream& stream, int fileTag, const RenderingContext& context) override;
|
||||
std::vector<CodeTemplateFile> GetFilesToRenderOncePerAsset(const OncePerAssetRenderingContext& context) override;
|
||||
void RenderOncePerAssetFile(std::ostream& stream, CodeTemplateFileTag fileTag, const OncePerAssetRenderingContext& context) override;
|
||||
};
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
#include <sstream>
|
||||
|
||||
BaseTemplate::BaseTemplate(std::ostream& stream, const RenderingContext& context)
|
||||
BaseTemplate::BaseTemplate(std::ostream& stream, const OncePerAssetRenderingContext& context)
|
||||
: m_out(stream),
|
||||
m_env(context),
|
||||
m_intendation(0u)
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
#include "Domain/Evaluation/OperandDynamic.h"
|
||||
#include "Domain/Evaluation/OperandStatic.h"
|
||||
#include "Domain/Evaluation/Operation.h"
|
||||
#include "Generating/RenderingContext.h"
|
||||
#include "Generating/OncePerAssetRenderingContext.h"
|
||||
|
||||
#include <format>
|
||||
#include <ostream>
|
||||
@@ -15,7 +15,7 @@ class BaseTemplate
|
||||
protected:
|
||||
static constexpr auto INTENDATION = " ";
|
||||
|
||||
BaseTemplate(std::ostream& stream, const RenderingContext& context);
|
||||
BaseTemplate(std::ostream& stream, const OncePerAssetRenderingContext& context);
|
||||
|
||||
void DoIntendation() const;
|
||||
|
||||
@@ -37,7 +37,7 @@ protected:
|
||||
static std::string MakeEvaluation(const IEvaluation* evaluation);
|
||||
|
||||
std::ostream& m_out;
|
||||
const RenderingContext& m_env;
|
||||
const OncePerAssetRenderingContext& m_env;
|
||||
unsigned m_intendation;
|
||||
|
||||
private:
|
||||
|
||||
@@ -17,7 +17,7 @@ namespace
|
||||
class Template final : BaseTemplate
|
||||
{
|
||||
public:
|
||||
Template(std::ostream& stream, const RenderingContext& context)
|
||||
Template(std::ostream& stream, const OncePerAssetRenderingContext& context)
|
||||
: BaseTemplate(stream, context)
|
||||
{
|
||||
}
|
||||
@@ -2198,7 +2198,7 @@ namespace
|
||||
};
|
||||
} // namespace
|
||||
|
||||
std::vector<CodeTemplateFile> ZoneLoadTemplate::GetFilesToRender(const RenderingContext& context)
|
||||
std::vector<CodeTemplateFile> ZoneLoadTemplate::GetFilesToRenderOncePerAsset(const OncePerAssetRenderingContext& context)
|
||||
{
|
||||
std::vector<CodeTemplateFile> files;
|
||||
|
||||
@@ -2211,7 +2211,7 @@ std::vector<CodeTemplateFile> ZoneLoadTemplate::GetFilesToRender(const Rendering
|
||||
return files;
|
||||
}
|
||||
|
||||
void ZoneLoadTemplate::RenderFile(std::ostream& stream, const int fileTag, const RenderingContext& context)
|
||||
void ZoneLoadTemplate::RenderOncePerAssetFile(std::ostream& stream, const CodeTemplateFileTag fileTag, const OncePerAssetRenderingContext& context)
|
||||
{
|
||||
Template t(stream, context);
|
||||
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
#pragma once
|
||||
|
||||
#include "Generating/ICodeTemplate.h"
|
||||
|
||||
class ZoneLoadTemplate final : public ICodeTemplate
|
||||
{
|
||||
public:
|
||||
std::vector<CodeTemplateFile> GetFilesToRender(const RenderingContext& context) override;
|
||||
void RenderFile(std::ostream& stream, int fileTag, const RenderingContext& context) override;
|
||||
std::vector<CodeTemplateFile> GetFilesToRenderOncePerAsset(const OncePerAssetRenderingContext& context) override;
|
||||
void RenderOncePerAssetFile(std::ostream& stream, CodeTemplateFileTag fileTag, const OncePerAssetRenderingContext& context) override;
|
||||
};
|
||||
|
||||
@@ -16,7 +16,7 @@ namespace
|
||||
class Template final : BaseTemplate
|
||||
{
|
||||
public:
|
||||
Template(std::ostream& stream, const RenderingContext& context)
|
||||
Template(std::ostream& stream, const OncePerAssetRenderingContext& context)
|
||||
: BaseTemplate(stream, context)
|
||||
{
|
||||
}
|
||||
@@ -764,7 +764,7 @@ namespace
|
||||
};
|
||||
} // namespace
|
||||
|
||||
std::vector<CodeTemplateFile> ZoneMarkTemplate::GetFilesToRender(const RenderingContext& context)
|
||||
std::vector<CodeTemplateFile> ZoneMarkTemplate::GetFilesToRenderOncePerAsset(const OncePerAssetRenderingContext& context)
|
||||
{
|
||||
std::vector<CodeTemplateFile> files;
|
||||
|
||||
@@ -777,7 +777,7 @@ std::vector<CodeTemplateFile> ZoneMarkTemplate::GetFilesToRender(const Rendering
|
||||
return files;
|
||||
}
|
||||
|
||||
void ZoneMarkTemplate::RenderFile(std::ostream& stream, const int fileTag, const RenderingContext& context)
|
||||
void ZoneMarkTemplate::RenderOncePerAssetFile(std::ostream& stream, const CodeTemplateFileTag fileTag, const OncePerAssetRenderingContext& context)
|
||||
{
|
||||
Template t(stream, context);
|
||||
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
#pragma once
|
||||
|
||||
#include "Generating/ICodeTemplate.h"
|
||||
|
||||
class ZoneMarkTemplate final : public ICodeTemplate
|
||||
{
|
||||
public:
|
||||
std::vector<CodeTemplateFile> GetFilesToRender(const RenderingContext& context) override;
|
||||
void RenderFile(std::ostream& stream, int fileTag, const RenderingContext& context) override;
|
||||
std::vector<CodeTemplateFile> GetFilesToRenderOncePerAsset(const OncePerAssetRenderingContext& context) override;
|
||||
void RenderOncePerAssetFile(std::ostream& stream, CodeTemplateFileTag fileTag, const OncePerAssetRenderingContext& context) override;
|
||||
};
|
||||
|
||||
@@ -9,13 +9,13 @@
|
||||
|
||||
namespace
|
||||
{
|
||||
constexpr int TAG_HEADER = 1;
|
||||
constexpr int TAG_SOURCE = 2;
|
||||
constexpr CodeTemplateFileTag TAG_HEADER = 1;
|
||||
constexpr CodeTemplateFileTag TAG_SOURCE = 2;
|
||||
|
||||
class Template final : BaseTemplate
|
||||
{
|
||||
public:
|
||||
Template(std::ostream& stream, const RenderingContext& context)
|
||||
Template(std::ostream& stream, const OncePerAssetRenderingContext& context)
|
||||
: BaseTemplate(stream, context)
|
||||
{
|
||||
}
|
||||
@@ -1233,7 +1233,7 @@ namespace
|
||||
};
|
||||
} // namespace
|
||||
|
||||
std::vector<CodeTemplateFile> ZoneWriteTemplate::GetFilesToRender(const RenderingContext& context)
|
||||
std::vector<CodeTemplateFile> ZoneWriteTemplate::GetFilesToRenderOncePerAsset(const OncePerAssetRenderingContext& context)
|
||||
{
|
||||
std::vector<CodeTemplateFile> files;
|
||||
|
||||
@@ -1247,7 +1247,7 @@ std::vector<CodeTemplateFile> ZoneWriteTemplate::GetFilesToRender(const Renderin
|
||||
return files;
|
||||
}
|
||||
|
||||
void ZoneWriteTemplate::RenderFile(std::ostream& stream, const int fileTag, const RenderingContext& context)
|
||||
void ZoneWriteTemplate::RenderOncePerAssetFile(std::ostream& stream, const CodeTemplateFileTag fileTag, const OncePerAssetRenderingContext& context)
|
||||
{
|
||||
Template t(stream, context);
|
||||
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
#pragma once
|
||||
|
||||
#include "Generating/ICodeTemplate.h"
|
||||
|
||||
class ZoneWriteTemplate final : public ICodeTemplate
|
||||
{
|
||||
public:
|
||||
std::vector<CodeTemplateFile> GetFilesToRender(const RenderingContext& context) override;
|
||||
void RenderFile(std::ostream& stream, int fileTag, const RenderingContext& context) override;
|
||||
std::vector<CodeTemplateFile> GetFilesToRenderOncePerAsset(const OncePerAssetRenderingContext& context) override;
|
||||
void RenderOncePerAssetFile(std::ostream& stream, CodeTemplateFileTag fileTag, const OncePerAssetRenderingContext& context) override;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user