#include "Prefab.h" #include "src/Scene/Components/ParentComponent.h" namespace Nuake { Ref Prefab::CreatePrefabFromEntity(Entity entity) { Ref prefab = CreateRef(); ParentComponent parentC = entity.GetComponent(); prefab->EntityWalker(entity); return prefab; } Ref Prefab::New(const std::string& path) { Ref newPrefab = CreateRef(); newPrefab->Path = path; std::string prefabTextContent = FileSystem::ReadFile(path); newPrefab->Deserialize(prefabTextContent); return newPrefab; } void Prefab::EntityWalker(Entity entity) { entity.GetComponent().IsPrefab = true; Entities.push_back(entity); for (const Entity& e : entity.GetComponent().Children) { EntityWalker(e); } } }