mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-06-12 07:48:16 -05:00
add basis for code rendering
This commit is contained in:
@ -0,0 +1,24 @@
|
||||
#include "AssetStructTestsTemplate.h"
|
||||
|
||||
#include <sstream>
|
||||
|
||||
std::vector<CodeTemplateFile> AssetStructTestsTemplate::GetFilesToRender(RenderingContext* context)
|
||||
{
|
||||
std::vector<CodeTemplateFile> files;
|
||||
|
||||
auto assetName = context->m_asset->m_definition->m_name;
|
||||
for (auto& c : assetName)
|
||||
c = static_cast<char>(tolower(c));
|
||||
|
||||
{
|
||||
std::ostringstream str;
|
||||
str << assetName << '/' << assetName << "_struct_test.cpp";
|
||||
files.emplace_back(str.str(), TAG_SOURCE);
|
||||
}
|
||||
|
||||
return files;
|
||||
}
|
||||
|
||||
void AssetStructTestsTemplate::RenderFile(std::ostream& stream, int fileTag)
|
||||
{
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
#pragma once
|
||||
#include "Generating/ICodeTemplate.h"
|
||||
|
||||
class AssetStructTestsTemplate final : public ICodeTemplate
|
||||
{
|
||||
static constexpr int TAG_SOURCE = 1;
|
||||
|
||||
public:
|
||||
std::vector<CodeTemplateFile> GetFilesToRender(RenderingContext* context) override;
|
||||
void RenderFile(std::ostream& stream, int fileTag) override;
|
||||
};
|
@ -0,0 +1,42 @@
|
||||
#include "ZoneLoadTemplate.h"
|
||||
|
||||
#include <sstream>
|
||||
|
||||
std::vector<CodeTemplateFile> ZoneLoadTemplate::GetFilesToRender(RenderingContext* context)
|
||||
{
|
||||
std::vector<CodeTemplateFile> files;
|
||||
|
||||
auto assetName = context->m_asset->m_definition->m_name;
|
||||
for (auto& c : assetName)
|
||||
c = static_cast<char>(tolower(c));
|
||||
|
||||
{
|
||||
std::ostringstream str;
|
||||
str << assetName << '/' << assetName << "_load_db.h";
|
||||
files.emplace_back(str.str(), TAG_HEADER);
|
||||
}
|
||||
|
||||
{
|
||||
std::ostringstream str;
|
||||
str << assetName << '/' << assetName << "_load_db.cpp";
|
||||
files.emplace_back(str.str(), TAG_SOURCE);
|
||||
}
|
||||
|
||||
return files;
|
||||
}
|
||||
|
||||
void ZoneLoadTemplate::RenderFile(std::ostream& stream, const int fileTag)
|
||||
{
|
||||
if (fileTag == TAG_HEADER)
|
||||
{
|
||||
stream << "Header";
|
||||
}
|
||||
else if (fileTag == TAG_SOURCE)
|
||||
{
|
||||
stream << "Source";
|
||||
}
|
||||
else
|
||||
{
|
||||
stream << "Unknown";
|
||||
}
|
||||
}
|
@ -0,0 +1,12 @@
|
||||
#pragma once
|
||||
#include "Generating/ICodeTemplate.h"
|
||||
|
||||
class ZoneLoadTemplate final : public ICodeTemplate
|
||||
{
|
||||
static constexpr int TAG_HEADER = 1;
|
||||
static constexpr int TAG_SOURCE = 2;
|
||||
|
||||
public:
|
||||
std::vector<CodeTemplateFile> GetFilesToRender(RenderingContext* context) override;
|
||||
void RenderFile(std::ostream& stream, int fileTag) override;
|
||||
};
|
@ -0,0 +1,30 @@
|
||||
#include "ZoneWriteTemplate.h"
|
||||
|
||||
#include <sstream>
|
||||
|
||||
std::vector<CodeTemplateFile> ZoneWriteTemplate::GetFilesToRender(RenderingContext* context)
|
||||
{
|
||||
std::vector<CodeTemplateFile> files;
|
||||
|
||||
auto assetName = context->m_asset->m_definition->m_name;
|
||||
for (auto& c : assetName)
|
||||
c = static_cast<char>(tolower(c));
|
||||
|
||||
{
|
||||
std::ostringstream str;
|
||||
str << assetName << '/' << assetName << "_write_db.h";
|
||||
files.emplace_back(str.str(), TAG_HEADER);
|
||||
}
|
||||
|
||||
{
|
||||
std::ostringstream str;
|
||||
str << assetName << '/' << assetName << "_write_db.cpp";
|
||||
files.emplace_back(str.str(), TAG_SOURCE);
|
||||
}
|
||||
|
||||
return files;
|
||||
}
|
||||
|
||||
void ZoneWriteTemplate::RenderFile(std::ostream& stream, const int fileTag)
|
||||
{
|
||||
}
|
@ -0,0 +1,12 @@
|
||||
#pragma once
|
||||
#include "Generating/ICodeTemplate.h"
|
||||
|
||||
class ZoneWriteTemplate final : public ICodeTemplate
|
||||
{
|
||||
static constexpr int TAG_HEADER = 1;
|
||||
static constexpr int TAG_SOURCE = 2;
|
||||
|
||||
public:
|
||||
std::vector<CodeTemplateFile> GetFilesToRender(RenderingContext* context) override;
|
||||
void RenderFile(std::ostream& stream, int fileTag) override;
|
||||
};
|
Reference in New Issue
Block a user