initial commit

This commit is contained in:
cdemeyer-teachx
2025-11-12 06:29:59 +09:00
commit 998313be3c
17 changed files with 1624 additions and 0 deletions

38
include/project_parser.h Normal file
View File

@@ -0,0 +1,38 @@
#pragma once
#include <string>
#include <vector>
#include <filesystem>
#include <fstream>
#include <unordered_map>
#include "assets/asset_base.hpp"
#include "assets/scene.hpp"
struct AssetPath
{
std::filesystem::path path{};
AssetGUID GUID{};
};
struct ParsedProject
{
std::filesystem::path m_projectRoot;
std::vector<AssetPath> m_scriptFiles;
std::vector<AssetPath> m_imageFiles;
std::vector<AssetPath> m_meshFiles;
std::vector<AssetPath> m_sceneFiles;
std::vector<AssetPath> m_prefabFiles;
std::vector<PrefabAsset> m_prefabAssets;
std::vector<SceneAsset> m_sceneAssets;
std::unordered_map<AssetGUID, PrefabAsset*> m_prefabsMap;
std::unordered_map<AssetGUID, uint32_t> m_scriptToClassHash;
};
void ParseProject(const std::filesystem::path& projectRoot);
extern ParsedProject g_parsedProject;