void CDynamicMapClient::requestEraseNode(const std::string& instanceId, const std::string& attrName, sint32 position) { //H_AUTO(R2_CDynamicMapClient_requestEraseNode) // warn observer of node being erased that these node are being erased // this allow observer of these node to remove themselves // for example, in the export window, the reference to a npc in the scene // will remove itself from the export if its target is removed CObject *target = find(instanceId, attrName, position); if (target) { CInstance *root = getEditor().getInstanceFromObject(target); if (root) { CTraverseEraseRequestedSons traverseEraseRequestedSons; root->visit(traverseEraseRequestedSons); } } nlwarning("REQUEST: erase node %s, %s, %d", instanceId.c_str(), attrName.c_str(), (int) position); _ActionHistoric.requestEraseNode(instanceId, attrName, position); }