adding get_stored_values method

changed order name

(cherry picked from commit dbca4ee3fe)
This commit is contained in:
Ariel Manzur 2016-11-08 17:40:46 -03:00 committed by Rémi Verschelde
parent 959683c3d8
commit b3616089fa
2 changed files with 20 additions and 1 deletions

View File

@ -101,11 +101,28 @@ void InstancePlaceholder::replace_by_instance(const Ref<PackedScene> &p_custom_s
base->remove_child(this);
base->add_child(scene);
base->move_child(scene,pos);
}
Dictionary InstancePlaceholder::get_stored_values(bool p_with_order) {
Dictionary ret;
StringArray order;
for(List<PropSet>::Element *E=stored_values.front();E;E=E->next()) {
ret[E->get().name] = E->get().value;
if (p_with_order)
order.push_back(E->get().name);
};
if (p_with_order)
ret[".order"] = order;
return ret;
};
void InstancePlaceholder::_bind_methods() {
ObjectTypeDB::bind_method(_MD("get_stored_values","with_order"),&InstancePlaceholder::get_stored_values,DEFVAL(false));
ObjectTypeDB::bind_method(_MD("replace_by_instance","custom_scene:PackedScene"),&InstancePlaceholder::replace_by_instance,DEFVAL(Variant()));
ObjectTypeDB::bind_method(_MD("get_instance_path"),&InstancePlaceholder::get_instance_path);
}

View File

@ -57,6 +57,8 @@ public:
void set_instance_path(const String& p_name);
String get_instance_path() const;
Dictionary get_stored_values(bool p_with_order = false);
void replace_by_instance(const Ref<PackedScene>& p_custom_scene=Ref<PackedScene>());
InstancePlaceholder();