void ezProceduralPlacementComponentDragDropHandler::OnDragBegin(const ezDragDropInfo* pInfo) { ezComponentDragDropHandler::OnDragBegin(pInfo); if (pInfo->m_sTargetContext == "viewport") CreateDropObject(pInfo->m_vDropPosition, "ezProceduralPlacementComponent", "Resource", GetAssetGuidString(pInfo), ezUuid(), -1); else CreateDropObject(pInfo->m_vDropPosition, "ezProceduralPlacementComponent", "Resource", GetAssetGuidString(pInfo), pInfo->m_TargetObject, pInfo->m_iTargetObjectInsertChildIndex); SelectCreatedObjects(); BeginTemporaryCommands(); }
void ezCollisionMeshComponentDragDropHandler::OnDragBegin(const ezDragDropInfo* pInfo) { ezComponentDragDropHandler::OnDragBegin(pInfo); if (pInfo->m_sTargetContext == "viewport") CreateDropObject(pInfo->m_vDropPosition, "ezPxStaticActorComponent", "CollisionMesh", GetAssetGuidString(pInfo), ezUuid(), -1); else { if (pInfo->m_iTargetObjectInsertChildIndex == -1) // dropped directly on a node -> attach component only { AttachComponentToObject("ezPxStaticActorComponent", "CollisionMesh", GetAssetGuidString(pInfo), pInfo->m_TargetObject); // make sure this object gets selected m_DraggedObjects.PushBack(pInfo->m_TargetObject); } else CreateDropObject(pInfo->m_vDropPosition, "ezPxStaticActorComponent", "CollisionMesh", GetAssetGuidString(pInfo), pInfo->m_TargetObject, pInfo->m_iTargetObjectInsertChildIndex); } SelectCreatedObjects(); BeginTemporaryCommands(); }