From a14733c3bfae2eefd7999227664b296f9127c077 Mon Sep 17 00:00:00 2001 From: Anders Pistol Date: Thu, 4 Jul 2024 22:48:33 +0200 Subject: [PATCH] Traktor: Fixed issue with creating external entities, which have child entities, in scene editor. --- code/Mesh/Instance/InstanceMeshComponent.cpp | 1 - code/Scene/Editor/EntityAdapterBuilder.cpp | 6 +++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/code/Mesh/Instance/InstanceMeshComponent.cpp b/code/Mesh/Instance/InstanceMeshComponent.cpp index dd8310df4..59b03a0b2 100644 --- a/code/Mesh/Instance/InstanceMeshComponent.cpp +++ b/code/Mesh/Instance/InstanceMeshComponent.cpp @@ -34,7 +34,6 @@ InstanceMeshComponent::~InstanceMeshComponent() void InstanceMeshComponent::destroy() { - T_FATAL_ASSERT(m_cullingInstance == nullptr); m_mesh.clear(); MeshComponent::destroy(); } diff --git a/code/Scene/Editor/EntityAdapterBuilder.cpp b/code/Scene/Editor/EntityAdapterBuilder.cpp index dd9879521..761ea3e72 100644 --- a/code/Scene/Editor/EntityAdapterBuilder.cpp +++ b/code/Scene/Editor/EntityAdapterBuilder.cpp @@ -14,6 +14,7 @@ #include "Scene/Editor/IEntityEditorFactory.h" #include "Scene/Editor/SceneEditorContext.h" #include "World/Entity.h" +#include "World/EntityBuilder.h" #include "World/EntityData.h" #include "World/IEntityComponent.h" #include "World/IEntityFactory.h" @@ -80,7 +81,10 @@ Ref< world::Entity > EntityAdapterBuilder::create(const world::EntityData* entit // Do not create adapters when we're inside an external entity. if (is_a< world::ExternalEntityData >(m_currentEntityData)) - return m_entityFactory->createEntity(this, *entityData); + { + const world::EntityBuilder entityBuilder(m_entityFactory, m_world); + return m_entityFactory->createEntity(&entityBuilder, *entityData); + } // Get adapter; reuse adapters containing same type of entity. Cache& cache = m_cache[entityData->getId()];