* fix automatic connection names resolving of cloned entities

issue was:
	create entity 1, clone to 2,3; connect 1-2, 2-3 = 1-3 connected; 2-3, 1-2/3-2 2-1 = ok; create all ones via menu/clone-make-unique/ctrl+c +v = ok
	clone-make-unique is broken, when operating with cloned entities, connected 3-2, 2-1 (ctrl+c +v too)
This commit is contained in:
Garux
2018-07-27 20:21:42 +03:00
parent cc997fd5a1
commit 461410f1a9
4 changed files with 22 additions and 21 deletions

View File

@@ -240,12 +240,14 @@ void Map_gatherNamespaced( scene::Node& root ){
Node_traverseSubgraph( root, GatherNamespaced() );
}
void Map_mergeClonedNames(){
for ( std::list<Namespaced*>::const_iterator i = g_cloned.begin(); i != g_cloned.end(); ++i )
{
( *i )->setNamespace( g_cloneNamespace );
void Map_mergeClonedNames( bool makeUnique /*= true*/ ){
if( makeUnique ){
for ( std::list<Namespaced*>::const_iterator i = g_cloned.begin(); i != g_cloned.end(); ++i )
{
( *i )->setNamespace( g_cloneNamespace );
}
g_cloneNamespace.mergeNames( g_defaultNamespace );
}
g_cloneNamespace.mergeNames( g_defaultNamespace );
for ( std::list<Namespaced*>::const_iterator i = g_cloned.begin(); i != g_cloned.end(); ++i )
{
( *i )->setNamespace( g_defaultNamespace );