MCPcopy Create free account
hub / github.com/begla/Intrinsic / onDeleteNode

Method onDeleteNode

IntrinsicEd/src/IntrinsicEdNodeViewTreeWidget.cpp:454–484  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

452}
453
454void IntrinsicEdNodeViewTreeWidget::onDeleteNode()
455{
456 QTreeWidgetItem* currIt = currentItem();
457 Components::NodeRef currentNode = _itemToNodeMap[currIt];
458
459 // Update the currently selected entity
460 if (Components::NodeManager::_entity(currentNode) ==
461 GameStates::Editing::_currentlySelectedEntity)
462 {
463 GameStates::Editing::_currentlySelectedEntity = Dod::Ref();
464 }
465
466 Components::NodeRefArray nodes;
467 Components::NodeManager::collectNodes(currentNode, nodes);
468
469 // Cleanup cached nodes and all attached children
470 for (uint32_t i = 0u; i < nodes.size(); ++i)
471 {
472 Components::NodeRef nodeRef = nodes[i];
473 QTreeWidgetItem* item = _nodeToItemMap[nodeRef];
474
475 _nodeToItemMap[nodeRef];
476 _itemToNodeMap.erase(item);
477 }
478
479 onItemSelected(nullptr, currIt);
480 delete currIt;
481
482 // Delete node from world
483 World::destroyNodeFull(currentNode);
484}
485
486void IntrinsicEdNodeViewTreeWidget::onSaveNodeAsPrefab()
487{

Callers

nothing calls this directly

Calls 2

RefClass · 0.85
sizeMethod · 0.45

Tested by

no test coverage detected