diff options
author | RĂ©mi Verschelde <rverschelde@gmail.com> | 2017-12-17 23:58:59 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-12-17 23:58:59 +0100 |
commit | e83c50293929a0170af87d3c10318f400ceee07d (patch) | |
tree | 7f8dbc51b785247d7846fa4cab7ab7d271de4d72 | |
parent | 27642868f18007883c25177f959cb223f4e325f3 (diff) | |
parent | f19fc83546f0557054816bfcd2e5342c82cf54c9 (diff) |
Merge pull request #14754 from willnationsdev/dictionary-copy
Added 'duplicate' function for Dictionary in C++ and API.
-rw-r--r-- | core/dictionary.cpp | 2 | ||||
-rw-r--r-- | core/dictionary.h | 2 | ||||
-rw-r--r-- | core/variant_call.cpp | 2 | ||||
-rw-r--r-- | editor/plugins/animation_player_editor_plugin.cpp | 6 | ||||
-rw-r--r-- | modules/visual_script/visual_script_editor.cpp | 6 | ||||
-rw-r--r-- | scene/main/node.cpp | 4 |
6 files changed, 12 insertions, 10 deletions
diff --git a/core/dictionary.cpp b/core/dictionary.cpp index 44fce2474f..66af6a1a9a 100644 --- a/core/dictionary.cpp +++ b/core/dictionary.cpp @@ -215,7 +215,7 @@ const Variant *Dictionary::next(const Variant *p_key) const { return NULL; } -Dictionary Dictionary::copy() const { +Dictionary Dictionary::duplicate() const { Dictionary n; diff --git a/core/dictionary.h b/core/dictionary.h index c8177d5648..1d8ca0023e 100644 --- a/core/dictionary.h +++ b/core/dictionary.h @@ -74,7 +74,7 @@ public: Array keys() const; Array values() const; - Dictionary copy() const; + Dictionary duplicate() const; Dictionary(const Dictionary &p_from); Dictionary(); diff --git a/core/variant_call.cpp b/core/variant_call.cpp index 2b99a60ba5..0284c4d866 100644 --- a/core/variant_call.cpp +++ b/core/variant_call.cpp @@ -462,6 +462,7 @@ struct _VariantCall { VCALL_LOCALMEM0R(Dictionary, hash); VCALL_LOCALMEM0R(Dictionary, keys); VCALL_LOCALMEM0R(Dictionary, values); + VCALL_LOCALMEM0R(Dictionary, duplicate); VCALL_LOCALMEM2(Array, set); VCALL_LOCALMEM1R(Array, get); @@ -1607,6 +1608,7 @@ void register_variant_methods() { ADDFUNC0R(DICTIONARY, INT, Dictionary, hash, varray()); ADDFUNC0R(DICTIONARY, ARRAY, Dictionary, keys, varray()); ADDFUNC0R(DICTIONARY, ARRAY, Dictionary, values, varray()); + ADDFUNC0R(DICTIONARY, DICTIONARY, Dictionary, duplicate, varray()); ADDFUNC0R(ARRAY, INT, Array, size, varray()); ADDFUNC0R(ARRAY, BOOL, Array, empty, varray()); diff --git a/editor/plugins/animation_player_editor_plugin.cpp b/editor/plugins/animation_player_editor_plugin.cpp index 019e32f847..d70f41d2e0 100644 --- a/editor/plugins/animation_player_editor_plugin.cpp +++ b/editor/plugins/animation_player_editor_plugin.cpp @@ -1348,14 +1348,14 @@ void AnimationPlayerEditor::_prepare_onion_layers_2() { if (SpatialEditor::get_singleton()->is_visible()) { // 3D spatial_edit_state = SpatialEditor::get_singleton()->get_state(); - Dictionary new_state = spatial_edit_state.copy(); + Dictionary new_state = spatial_edit_state.duplicate(); new_state["show_grid"] = false; new_state["show_origin"] = false; Array orig_vp = spatial_edit_state["viewports"]; Array vp; vp.resize(4); for (int i = 0; i < vp.size(); i++) { - Dictionary d = ((Dictionary)orig_vp[i]).copy(); + Dictionary d = ((Dictionary)orig_vp[i]).duplicate(); d["use_environment"] = false; d["doppler"] = false; d["gizmos"] = onion.include_gizmos ? d["gizmos"] : Variant(false); @@ -1368,7 +1368,7 @@ void AnimationPlayerEditor::_prepare_onion_layers_2() { } else { // CanvasItemEditor // 2D canvas_edit_state = CanvasItemEditor::get_singleton()->get_state(); - Dictionary new_state = canvas_edit_state.copy(); + Dictionary new_state = canvas_edit_state.duplicate(); new_state["show_grid"] = false; new_state["show_rulers"] = false; new_state["show_guides"] = false; diff --git a/modules/visual_script/visual_script_editor.cpp b/modules/visual_script/visual_script_editor.cpp index b91042ec46..faf3aecbd4 100644 --- a/modules/visual_script/visual_script_editor.cpp +++ b/modules/visual_script/visual_script_editor.cpp @@ -228,7 +228,7 @@ protected: if (String(p_name) == "type") { - Dictionary dc = d.copy(); + Dictionary dc = d.duplicate(); dc["type"] = p_value; undo_redo->create_action(TTR("Set Variable Type")); undo_redo->add_do_method(script.ptr(), "set_variable_info", var, dc); @@ -241,7 +241,7 @@ protected: if (String(p_name) == "hint") { - Dictionary dc = d.copy(); + Dictionary dc = d.duplicate(); dc["hint"] = p_value; undo_redo->create_action(TTR("Set Variable Type")); undo_redo->add_do_method(script.ptr(), "set_variable_info", var, dc); @@ -254,7 +254,7 @@ protected: if (String(p_name) == "hint_string") { - Dictionary dc = d.copy(); + Dictionary dc = d.duplicate(); dc["hint_string"] = p_value; undo_redo->create_action(TTR("Set Variable Type")); undo_redo->add_do_method(script.ptr(), "set_variable_info", var, dc); diff --git a/scene/main/node.cpp b/scene/main/node.cpp index af7a6bddd9..de1ab9959a 100644 --- a/scene/main/node.cpp +++ b/scene/main/node.cpp @@ -2162,7 +2162,7 @@ Node *Node::_duplicate(int p_flags, Map<const Node *, Node *> *r_duplimap) const Variant value = N->get()->get(name); // Duplicate dictionaries and arrays, mainly needed for __meta__ if (value.get_type() == Variant::DICTIONARY) { - value = Dictionary(value).copy(); + value = Dictionary(value).duplicate(); } else if (value.get_type() == Variant::ARRAY) { value = Array(value).duplicate(); } @@ -2303,7 +2303,7 @@ void Node::_duplicate_and_reown(Node *p_new_parent, const Map<Node *, Node *> &p Variant value = get(name); // Duplicate dictionaries and arrays, mainly needed for __meta__ if (value.get_type() == Variant::DICTIONARY) { - value = Dictionary(value).copy(); + value = Dictionary(value).duplicate(); } else if (value.get_type() == Variant::ARRAY) { value = Array(value).duplicate(); } |