1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-05 12:10:55 +00:00

Duplicate Arrays and Dictionaries when instancing scene in editor

Also, add deep (=false) parameter to Array.duplicate and Dictionary.duplicate

Fixes #13971
This commit is contained in:
Bojidar Marinov
2018-03-09 21:16:08 +02:00
parent b842369442
commit 9f6c0c6eae
11 changed files with 32 additions and 28 deletions

View File

@@ -35,8 +35,8 @@
#include "variant.h"
#include "vector.h"
struct ArrayPrivate {
class ArrayPrivate {
public:
SafeRefCount refcount;
Vector<Variant> array;
};
@@ -211,13 +211,13 @@ const Variant &Array::get(int p_idx) const {
return operator[](p_idx);
}
Array Array::duplicate() const {
Array Array::duplicate(bool p_deep) const {
Array new_arr;
int element_count = size();
new_arr.resize(element_count);
for (int i = 0; i < element_count; i++) {
new_arr[i] = get(i);
new_arr[i] = p_deep ? get(i).duplicate(p_deep) : get(i);
}
return new_arr;