Add PackedVector4Array Variant type
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com> Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
This commit is contained in:
committed by
Rémi Verschelde
parent
b9e022302a
commit
f9b488508c
@ -595,6 +595,8 @@ static GDExtensionVariantFromTypeConstructorFunc gdextension_get_variant_from_ty
|
||||
return VariantTypeConstructor<PackedVector2Array>::variant_from_type;
|
||||
case GDEXTENSION_VARIANT_TYPE_PACKED_VECTOR3_ARRAY:
|
||||
return VariantTypeConstructor<PackedVector3Array>::variant_from_type;
|
||||
case GDEXTENSION_VARIANT_TYPE_PACKED_VECTOR4_ARRAY:
|
||||
return VariantTypeConstructor<PackedVector4Array>::variant_from_type;
|
||||
case GDEXTENSION_VARIANT_TYPE_PACKED_COLOR_ARRAY:
|
||||
return VariantTypeConstructor<PackedColorArray>::variant_from_type;
|
||||
case GDEXTENSION_VARIANT_TYPE_NIL:
|
||||
@ -678,6 +680,8 @@ static GDExtensionTypeFromVariantConstructorFunc gdextension_get_variant_to_type
|
||||
return VariantTypeConstructor<PackedVector2Array>::type_from_variant;
|
||||
case GDEXTENSION_VARIANT_TYPE_PACKED_VECTOR3_ARRAY:
|
||||
return VariantTypeConstructor<PackedVector3Array>::type_from_variant;
|
||||
case GDEXTENSION_VARIANT_TYPE_PACKED_VECTOR4_ARRAY:
|
||||
return VariantTypeConstructor<PackedVector4Array>::type_from_variant;
|
||||
case GDEXTENSION_VARIANT_TYPE_PACKED_COLOR_ARRAY:
|
||||
return VariantTypeConstructor<PackedColorArray>::type_from_variant;
|
||||
case GDEXTENSION_VARIANT_TYPE_NIL:
|
||||
@ -1116,6 +1120,22 @@ static GDExtensionTypePtr gdextension_packed_vector3_array_operator_index_const(
|
||||
return (GDExtensionTypePtr)&self->ptr()[p_index];
|
||||
}
|
||||
|
||||
static GDExtensionTypePtr gdextension_packed_vector4_array_operator_index(GDExtensionTypePtr p_self, GDExtensionInt p_index) {
|
||||
PackedVector4Array *self = (PackedVector4Array *)p_self;
|
||||
if (unlikely(p_index < 0 || p_index >= self->size())) {
|
||||
return nullptr;
|
||||
}
|
||||
return (GDExtensionTypePtr)&self->ptrw()[p_index];
|
||||
}
|
||||
|
||||
static GDExtensionTypePtr gdextension_packed_vector4_array_operator_index_const(GDExtensionConstTypePtr p_self, GDExtensionInt p_index) {
|
||||
const PackedVector4Array *self = (const PackedVector4Array *)p_self;
|
||||
if (unlikely(p_index < 0 || p_index >= self->size())) {
|
||||
return nullptr;
|
||||
}
|
||||
return (GDExtensionTypePtr)&self->ptr()[p_index];
|
||||
}
|
||||
|
||||
static GDExtensionVariantPtr gdextension_array_operator_index(GDExtensionTypePtr p_self, GDExtensionInt p_index) {
|
||||
Array *self = (Array *)p_self;
|
||||
if (unlikely(p_index < 0 || p_index >= self->size())) {
|
||||
@ -1620,6 +1640,8 @@ void gdextension_setup_interface() {
|
||||
REGISTER_INTERFACE_FUNC(packed_vector2_array_operator_index_const);
|
||||
REGISTER_INTERFACE_FUNC(packed_vector3_array_operator_index);
|
||||
REGISTER_INTERFACE_FUNC(packed_vector3_array_operator_index_const);
|
||||
REGISTER_INTERFACE_FUNC(packed_vector4_array_operator_index);
|
||||
REGISTER_INTERFACE_FUNC(packed_vector4_array_operator_index_const);
|
||||
REGISTER_INTERFACE_FUNC(array_operator_index);
|
||||
REGISTER_INTERFACE_FUNC(array_operator_index_const);
|
||||
REGISTER_INTERFACE_FUNC(array_ref);
|
||||
|
||||
Reference in New Issue
Block a user