packed*arrays are pass by ref now. support duplicate and update documentation
This commit is contained in:
parent
2c0d1c3b91
commit
2d56e09276
12 changed files with 94 additions and 9 deletions
|
|
@ -112,6 +112,10 @@ public:
|
|||
sort_custom<_DefaultComparator<T>>();
|
||||
}
|
||||
|
||||
Vector<T> duplicate() {
|
||||
return *this;
|
||||
}
|
||||
|
||||
void ordered_insert(const T &p_val) {
|
||||
int i;
|
||||
for (i = 0; i < _cowdata.size(); i++) {
|
||||
|
|
|
|||
|
|
@ -1316,6 +1316,7 @@ static void _register_variant_builtin_methods() {
|
|||
bind_method(PackedByteArray, invert, sarray(), varray());
|
||||
bind_method(PackedByteArray, subarray, sarray("from", "to"), varray());
|
||||
bind_method(PackedByteArray, sort, sarray(), varray());
|
||||
bind_method(PackedByteArray, duplicate, sarray(), varray());
|
||||
|
||||
bind_function(PackedByteArray, get_string_from_ascii, _VariantCall::func_PackedByteArray_get_string_from_ascii, sarray(), varray());
|
||||
bind_function(PackedByteArray, get_string_from_utf8, _VariantCall::func_PackedByteArray_get_string_from_utf8, sarray(), varray());
|
||||
|
|
@ -1342,6 +1343,7 @@ static void _register_variant_builtin_methods() {
|
|||
bind_method(PackedInt32Array, subarray, sarray("from", "to"), varray());
|
||||
bind_method(PackedInt32Array, to_byte_array, sarray(), varray());
|
||||
bind_method(PackedInt32Array, sort, sarray(), varray());
|
||||
bind_method(PackedInt32Array, duplicate, sarray(), varray());
|
||||
|
||||
/* Int64 Array */
|
||||
|
||||
|
|
@ -1359,6 +1361,7 @@ static void _register_variant_builtin_methods() {
|
|||
bind_method(PackedInt64Array, subarray, sarray("from", "to"), varray());
|
||||
bind_method(PackedInt64Array, to_byte_array, sarray(), varray());
|
||||
bind_method(PackedInt64Array, sort, sarray(), varray());
|
||||
bind_method(PackedInt64Array, duplicate, sarray(), varray());
|
||||
|
||||
/* Float32 Array */
|
||||
|
||||
|
|
@ -1376,6 +1379,7 @@ static void _register_variant_builtin_methods() {
|
|||
bind_method(PackedFloat32Array, subarray, sarray("from", "to"), varray());
|
||||
bind_method(PackedFloat32Array, to_byte_array, sarray(), varray());
|
||||
bind_method(PackedFloat32Array, sort, sarray(), varray());
|
||||
bind_method(PackedFloat32Array, duplicate, sarray(), varray());
|
||||
|
||||
/* Float64 Array */
|
||||
|
||||
|
|
@ -1393,6 +1397,7 @@ static void _register_variant_builtin_methods() {
|
|||
bind_method(PackedFloat64Array, subarray, sarray("from", "to"), varray());
|
||||
bind_method(PackedFloat64Array, to_byte_array, sarray(), varray());
|
||||
bind_method(PackedFloat64Array, sort, sarray(), varray());
|
||||
bind_method(PackedFloat64Array, duplicate, sarray(), varray());
|
||||
|
||||
/* String Array */
|
||||
|
||||
|
|
@ -1410,6 +1415,7 @@ static void _register_variant_builtin_methods() {
|
|||
bind_method(PackedStringArray, subarray, sarray("from", "to"), varray());
|
||||
bind_method(PackedStringArray, to_byte_array, sarray(), varray());
|
||||
bind_method(PackedStringArray, sort, sarray(), varray());
|
||||
bind_method(PackedStringArray, duplicate, sarray(), varray());
|
||||
|
||||
/* Vector2 Array */
|
||||
|
||||
|
|
@ -1427,6 +1433,7 @@ static void _register_variant_builtin_methods() {
|
|||
bind_method(PackedVector2Array, subarray, sarray("from", "to"), varray());
|
||||
bind_method(PackedVector2Array, to_byte_array, sarray(), varray());
|
||||
bind_method(PackedVector2Array, sort, sarray(), varray());
|
||||
bind_method(PackedVector2Array, duplicate, sarray(), varray());
|
||||
|
||||
/* Vector3 Array */
|
||||
|
||||
|
|
@ -1444,6 +1451,7 @@ static void _register_variant_builtin_methods() {
|
|||
bind_method(PackedVector3Array, subarray, sarray("from", "to"), varray());
|
||||
bind_method(PackedVector3Array, to_byte_array, sarray(), varray());
|
||||
bind_method(PackedVector3Array, sort, sarray(), varray());
|
||||
bind_method(PackedVector3Array, duplicate, sarray(), varray());
|
||||
|
||||
/* Color Array */
|
||||
|
||||
|
|
@ -1461,6 +1469,7 @@ static void _register_variant_builtin_methods() {
|
|||
bind_method(PackedColorArray, subarray, sarray("from", "to"), varray());
|
||||
bind_method(PackedColorArray, to_byte_array, sarray(), varray());
|
||||
bind_method(PackedColorArray, sort, sarray(), varray());
|
||||
bind_method(PackedColorArray, duplicate, sarray(), varray());
|
||||
|
||||
/* Register constants */
|
||||
|
||||
|
|
|
|||
|
|
@ -2023,6 +2023,24 @@ Variant Variant::duplicate(bool deep) const {
|
|||
return operator Dictionary().duplicate(deep);
|
||||
case ARRAY:
|
||||
return operator Array().duplicate(deep);
|
||||
case PACKED_BYTE_ARRAY:
|
||||
return operator Vector<uint8_t>().duplicate();
|
||||
case PACKED_INT32_ARRAY:
|
||||
return operator Vector<int32_t>().duplicate();
|
||||
case PACKED_INT64_ARRAY:
|
||||
return operator Vector<int64_t>().duplicate();
|
||||
case PACKED_FLOAT32_ARRAY:
|
||||
return operator Vector<float>().duplicate();
|
||||
case PACKED_FLOAT64_ARRAY:
|
||||
return operator Vector<double>().duplicate();
|
||||
case PACKED_STRING_ARRAY:
|
||||
return operator Vector<String>().duplicate();
|
||||
case PACKED_VECTOR2_ARRAY:
|
||||
return operator Vector<Vector2>().duplicate();
|
||||
case PACKED_VECTOR3_ARRAY:
|
||||
return operator Vector<Vector3>().duplicate();
|
||||
case PACKED_COLOR_ARRAY:
|
||||
return operator Vector<Color>().duplicate();
|
||||
default:
|
||||
return *this;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue