Beispiel #1
0
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);
}