Skip to content

Commit

Permalink
[Core] Expose Packed*Array::erase
Browse files Browse the repository at this point in the history
  • Loading branch information
AThousandShips committed Jan 19, 2025
1 parent 0a336e9 commit e385b6c
Show file tree
Hide file tree
Showing 11 changed files with 85 additions and 0 deletions.
10 changes: 10 additions & 0 deletions core/variant/variant_call.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2446,6 +2446,7 @@ static void _register_variant_builtin_methods_array() {
bind_method(PackedByteArray, find, sarray("value", "from"), varray(0));
bind_method(PackedByteArray, rfind, sarray("value", "from"), varray(-1));
bind_method(PackedByteArray, count, sarray("value"), varray());
bind_method(PackedByteArray, erase, sarray("value"), 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());
Expand Down Expand Up @@ -2513,6 +2514,7 @@ static void _register_variant_builtin_methods_array() {
bind_method(PackedInt32Array, find, sarray("value", "from"), varray(0));
bind_method(PackedInt32Array, rfind, sarray("value", "from"), varray(-1));
bind_method(PackedInt32Array, count, sarray("value"), varray());
bind_method(PackedInt32Array, erase, sarray("value"), varray());

/* Int64 Array */

Expand All @@ -2537,6 +2539,7 @@ static void _register_variant_builtin_methods_array() {
bind_method(PackedInt64Array, find, sarray("value", "from"), varray(0));
bind_method(PackedInt64Array, rfind, sarray("value", "from"), varray(-1));
bind_method(PackedInt64Array, count, sarray("value"), varray());
bind_method(PackedInt64Array, erase, sarray("value"), varray());

/* Float32 Array */

Expand All @@ -2561,6 +2564,7 @@ static void _register_variant_builtin_methods_array() {
bind_method(PackedFloat32Array, find, sarray("value", "from"), varray(0));
bind_method(PackedFloat32Array, rfind, sarray("value", "from"), varray(-1));
bind_method(PackedFloat32Array, count, sarray("value"), varray());
bind_method(PackedFloat32Array, erase, sarray("value"), varray());

/* Float64 Array */

Expand All @@ -2585,6 +2589,7 @@ static void _register_variant_builtin_methods_array() {
bind_method(PackedFloat64Array, find, sarray("value", "from"), varray(0));
bind_method(PackedFloat64Array, rfind, sarray("value", "from"), varray(-1));
bind_method(PackedFloat64Array, count, sarray("value"), varray());
bind_method(PackedFloat64Array, erase, sarray("value"), varray());

/* String Array */

Expand All @@ -2609,6 +2614,7 @@ static void _register_variant_builtin_methods_array() {
bind_method(PackedStringArray, find, sarray("value", "from"), varray(0));
bind_method(PackedStringArray, rfind, sarray("value", "from"), varray(-1));
bind_method(PackedStringArray, count, sarray("value"), varray());
bind_method(PackedStringArray, erase, sarray("value"), varray());

/* Vector2 Array */

Expand All @@ -2633,6 +2639,7 @@ static void _register_variant_builtin_methods_array() {
bind_method(PackedVector2Array, find, sarray("value", "from"), varray(0));
bind_method(PackedVector2Array, rfind, sarray("value", "from"), varray(-1));
bind_method(PackedVector2Array, count, sarray("value"), varray());
bind_method(PackedVector2Array, erase, sarray("value"), varray());

/* Vector3 Array */

Expand All @@ -2657,6 +2664,7 @@ static void _register_variant_builtin_methods_array() {
bind_method(PackedVector3Array, find, sarray("value", "from"), varray(0));
bind_method(PackedVector3Array, rfind, sarray("value", "from"), varray(-1));
bind_method(PackedVector3Array, count, sarray("value"), varray());
bind_method(PackedVector3Array, erase, sarray("value"), varray());

/* Color Array */

Expand All @@ -2681,6 +2689,7 @@ static void _register_variant_builtin_methods_array() {
bind_method(PackedColorArray, find, sarray("value", "from"), varray(0));
bind_method(PackedColorArray, rfind, sarray("value", "from"), varray(-1));
bind_method(PackedColorArray, count, sarray("value"), varray());
bind_method(PackedColorArray, erase, sarray("value"), varray());

/* Vector4 Array */

Expand All @@ -2705,6 +2714,7 @@ static void _register_variant_builtin_methods_array() {
bind_method(PackedVector4Array, find, sarray("value", "from"), varray(0));
bind_method(PackedVector4Array, rfind, sarray("value", "from"), varray(-1));
bind_method(PackedVector4Array, count, sarray("value"), varray());
bind_method(PackedVector4Array, erase, sarray("value"), varray());
}

static void _register_variant_builtin_constants() {
Expand Down
7 changes: 7 additions & 0 deletions doc/classes/PackedByteArray.xml
Original file line number Diff line number Diff line change
Expand Up @@ -292,6 +292,13 @@
Encodes a [Variant] at the index of [param byte_offset] bytes. A sufficient space must be allocated, depending on the encoded variant's size. If [param allow_objects] is [code]false[/code], [Object]-derived values are not permitted and will instead be serialized as ID-only.
</description>
</method>
<method name="erase">
<return type="bool" />
<param index="0" name="value" type="int" />
<description>
Removes the first occurrence of a value from the array and returns [code]true[/code]. If the value does not exist in the array, nothing happens and [code]false[/code] is returned. To remove an element by index, use [method remove_at] instead.
</description>
</method>
<method name="fill">
<return type="void" />
<param index="0" name="value" type="int" />
Expand Down
7 changes: 7 additions & 0 deletions doc/classes/PackedColorArray.xml
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,13 @@
Creates a copy of the array, and returns it.
</description>
</method>
<method name="erase">
<return type="bool" />
<param index="0" name="value" type="Color" />
<description>
Removes the first occurrence of a value from the array and returns [code]true[/code]. If the value does not exist in the array, nothing happens and [code]false[/code] is returned. To remove an element by index, use [method remove_at] instead.
</description>
</method>
<method name="fill">
<return type="void" />
<param index="0" name="value" type="Color" />
Expand Down
8 changes: 8 additions & 0 deletions doc/classes/PackedFloat32Array.xml
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,14 @@
Creates a copy of the array, and returns it.
</description>
</method>
<method name="erase">
<return type="bool" />
<param index="0" name="value" type="float" />
<description>
Removes the first occurrence of a value from the array and returns [code]true[/code]. If the value does not exist in the array, nothing happens and [code]false[/code] is returned. To remove an element by index, use [method remove_at] instead.
[b]Note:[/b] [constant @GDScript.NAN] doesn't behave the same as other numbers. Therefore, the results from this method may not be accurate if NaNs are included.
</description>
</method>
<method name="fill">
<return type="void" />
<param index="0" name="value" type="float" />
Expand Down
8 changes: 8 additions & 0 deletions doc/classes/PackedFloat64Array.xml
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,14 @@
Creates a copy of the array, and returns it.
</description>
</method>
<method name="erase">
<return type="bool" />
<param index="0" name="value" type="float" />
<description>
Removes the first occurrence of a value from the array and returns [code]true[/code]. If the value does not exist in the array, nothing happens and [code]false[/code] is returned. To remove an element by index, use [method remove_at] instead.
[b]Note:[/b] [constant @GDScript.NAN] doesn't behave the same as other numbers. Therefore, the results from this method may not be accurate if NaNs are included.
</description>
</method>
<method name="fill">
<return type="void" />
<param index="0" name="value" type="float" />
Expand Down
7 changes: 7 additions & 0 deletions doc/classes/PackedInt32Array.xml
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,13 @@
Creates a copy of the array, and returns it.
</description>
</method>
<method name="erase">
<return type="bool" />
<param index="0" name="value" type="int" />
<description>
Removes the first occurrence of a value from the array and returns [code]true[/code]. If the value does not exist in the array, nothing happens and [code]false[/code] is returned. To remove an element by index, use [method remove_at] instead.
</description>
</method>
<method name="fill">
<return type="void" />
<param index="0" name="value" type="int" />
Expand Down
7 changes: 7 additions & 0 deletions doc/classes/PackedInt64Array.xml
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,13 @@
Creates a copy of the array, and returns it.
</description>
</method>
<method name="erase">
<return type="bool" />
<param index="0" name="value" type="int" />
<description>
Removes the first occurrence of a value from the array and returns [code]true[/code]. If the value does not exist in the array, nothing happens and [code]false[/code] is returned. To remove an element by index, use [method remove_at] instead.
</description>
</method>
<method name="fill">
<return type="void" />
<param index="0" name="value" type="int" />
Expand Down
7 changes: 7 additions & 0 deletions doc/classes/PackedStringArray.xml
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,13 @@
Creates a copy of the array, and returns it.
</description>
</method>
<method name="erase">
<return type="bool" />
<param index="0" name="value" type="String" />
<description>
Removes the first occurrence of a value from the array and returns [code]true[/code]. If the value does not exist in the array, nothing happens and [code]false[/code] is returned. To remove an element by index, use [method remove_at] instead.
</description>
</method>
<method name="fill">
<return type="void" />
<param index="0" name="value" type="String" />
Expand Down
8 changes: 8 additions & 0 deletions doc/classes/PackedVector2Array.xml
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,14 @@
Creates a copy of the array, and returns it.
</description>
</method>
<method name="erase">
<return type="bool" />
<param index="0" name="value" type="Vector2" />
<description>
Removes the first occurrence of a value from the array and returns [code]true[/code]. If the value does not exist in the array, nothing happens and [code]false[/code] is returned. To remove an element by index, use [method remove_at] instead.
[b]Note:[/b] Vectors with [constant @GDScript.NAN] elements don't behave the same as other vectors. Therefore, the results from this method may not be accurate if NaNs are included.
</description>
</method>
<method name="fill">
<return type="void" />
<param index="0" name="value" type="Vector2" />
Expand Down
8 changes: 8 additions & 0 deletions doc/classes/PackedVector3Array.xml
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,14 @@
Creates a copy of the array, and returns it.
</description>
</method>
<method name="erase">
<return type="bool" />
<param index="0" name="value" type="Vector3" />
<description>
Removes the first occurrence of a value from the array and returns [code]true[/code]. If the value does not exist in the array, nothing happens and [code]false[/code] is returned. To remove an element by index, use [method remove_at] instead.
[b]Note:[/b] Vectors with [constant @GDScript.NAN] elements don't behave the same as other vectors. Therefore, the results from this method may not be accurate if NaNs are included.
</description>
</method>
<method name="fill">
<return type="void" />
<param index="0" name="value" type="Vector3" />
Expand Down
8 changes: 8 additions & 0 deletions doc/classes/PackedVector4Array.xml
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,14 @@
Creates a copy of the array, and returns it.
</description>
</method>
<method name="erase">
<return type="bool" />
<param index="0" name="value" type="Vector4" />
<description>
Removes the first occurrence of a value from the array and returns [code]true[/code]. If the value does not exist in the array, nothing happens and [code]false[/code] is returned. To remove an element by index, use [method remove_at] instead.
[b]Note:[/b] Vectors with [constant @GDScript.NAN] elements don't behave the same as other vectors. Therefore, the results from this method may not be accurate if NaNs are included.
</description>
</method>
<method name="fill">
<return type="void" />
<param index="0" name="value" type="Vector4" />
Expand Down

0 comments on commit e385b6c

Please sign in to comment.