Dawn/archive/dawntools/util/generator/SceneItemGenerator.hpp
2023-10-31 21:15:03 -05:00

47 lines
1.5 KiB
C++

// Copyright (c) 2023 Dominic Masters
//
// This software is released under the MIT License.
// https://opensource.org/licenses/MIT
#pragma once
#include "SceneItemComponentGenerator.hpp"
#include "SceneAssetGenerator.hpp"
#include "util/parser/SceneItemParser.hpp"
#include "util/generator/SceneCodeGenerator.hpp"
namespace Dawn {
class SceneItemGenerator : public CodeGen {
public:
static void generateDependency(
int32_t &assetNumber,
int32_t &componentNumber,
int32_t &childNumber,
std::map<std::string, std::string> &assetMap,
std::vector<std::string> &includes,
std::vector<std::string> *publicProperties,
std::vector<std::string> *initBody,
std::vector<std::string> *assetBody,
std::string name,
std::string sceneRef,
std::vector<struct SceneItemComponent> &components,
std::vector<struct SceneItem> &children,
std::vector<struct SceneCode> &code,
struct SceneItemDependency dep
);
static void generate(
int32_t &assetNumber,
int32_t &componentNumber,
int32_t &childNumber,
std::map<std::string, std::string> &assetMap,
std::vector<std::string> &includes,
std::vector<std::string> *publicProperties,
std::vector<std::string> *initBody,
std::vector<std::string> *assetBody,
std::string parentRef,
std::string sceneRef,
struct SceneItem *item,
std::string tabs
);
};
}