Keep editable instances data when replacing tree root node

(cherry picked from commit 3029f5ee02)
This commit is contained in:
Ignacio Etcheverry 2016-04-12 18:21:37 +02:00 committed by Rémi Verschelde
parent 52bf4a76b2
commit dbcf969fbf
3 changed files with 13 additions and 0 deletions

View file

@ -1374,6 +1374,16 @@ bool Node::is_editable_instance(Node *p_node) const {
return data.editable_instances.has(p);
}
void Node::set_editable_instances(const HashMap<NodePath,int>& p_editable_instances) {
data.editable_instances=p_editable_instances;
}
HashMap<NodePath,int> Node::get_editable_instances() const {
return data.editable_instances;
}
#if 0

View file

@ -239,6 +239,8 @@ public:
void set_editable_instance(Node* p_node,bool p_editable);
bool is_editable_instance(Node* p_node) const;
void set_editable_instances(const HashMap<NodePath,int>& p_editable_instances);
HashMap<NodePath,int> get_editable_instances() const;
/* NOTIFICATIONS */

View file

@ -1318,6 +1318,7 @@ void SceneTreeDock::_create() {
if (n==edited_scene) {
edited_scene=newnode;
editor->set_edited_scene(newnode);
newnode->set_editable_instances(n->get_editable_instances());
}
//small hack to make collisionshapes and other kind of nodes to work