diff options
Diffstat (limited to 'src/variant/packed_arrays.cpp')
-rw-r--r-- | src/variant/packed_arrays.cpp | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/src/variant/packed_arrays.cpp b/src/variant/packed_arrays.cpp new file mode 100644 index 0000000..e3cfeab --- /dev/null +++ b/src/variant/packed_arrays.cpp @@ -0,0 +1,97 @@ +// extra functions for packed arrays + +#include <godot_cpp/godot.hpp> + +#include <godot_cpp/variant/packed_byte_array.hpp> +#include <godot_cpp/variant/packed_color_array.hpp> +#include <godot_cpp/variant/packed_float32_array.hpp> +#include <godot_cpp/variant/packed_float64_array.hpp> +#include <godot_cpp/variant/packed_int32_array.hpp> +#include <godot_cpp/variant/packed_int64_array.hpp> +#include <godot_cpp/variant/packed_string_array.hpp> +#include <godot_cpp/variant/packed_vector2_array.hpp> +#include <godot_cpp/variant/packed_vector3_array.hpp> + +namespace godot { + +const uint8_t &PackedByteArray::operator[](int p_index) const { + return *internal::interface->packed_byte_array_operator_index_const((GDNativeTypePtr *)this, p_index); +} + +uint8_t &PackedByteArray::operator[](int p_index) { + return *internal::interface->packed_byte_array_operator_index((GDNativeTypePtr *)this, p_index); +} + +const Color &PackedColorArray::operator[](int p_index) const { + const Color *color = (const Color *) internal::interface->packed_color_array_operator_index_const((GDNativeTypePtr *)this, p_index); + return *color; +} + +Color &PackedColorArray::operator[](int p_index) { + Color *color = (Color *) internal::interface->packed_color_array_operator_index((GDNativeTypePtr *)this, p_index); + return *color; +} + +const float &PackedFloat32Array::operator[](int p_index) const { + return *internal::interface->packed_float32_array_operator_index_const((GDNativeTypePtr *)this, p_index); +} + +float &PackedFloat32Array::operator[](int p_index) { + return *internal::interface->packed_float32_array_operator_index((GDNativeTypePtr *)this, p_index); +} + +const double &PackedFloat64Array::operator[](int p_index) const { + return *internal::interface->packed_float64_array_operator_index_const((GDNativeTypePtr *)this, p_index); +} + +double &PackedFloat64Array::operator[](int p_index) { + return *internal::interface->packed_float64_array_operator_index((GDNativeTypePtr *)this, p_index); +} + +const int32_t &PackedInt32Array::operator[](int p_index) const { + return *internal::interface->packed_int32_array_operator_index_const((GDNativeTypePtr *)this, p_index); +} + +int32_t &PackedInt32Array::operator[](int p_index) { + return *internal::interface->packed_int32_array_operator_index((GDNativeTypePtr *)this, p_index); +} + +const int64_t &PackedInt64Array::operator[](int p_index) const { + return *internal::interface->packed_int64_array_operator_index_const((GDNativeTypePtr *)this, p_index); +} + +int64_t &PackedInt64Array::operator[](int p_index) { + return *internal::interface->packed_int64_array_operator_index((GDNativeTypePtr *)this, p_index); +} + +const String &PackedStringArray::operator[](int p_index) const { + const String *string = (const String *) internal::interface->packed_string_array_operator_index_const((GDNativeTypePtr *)this, p_index); + return *string; +} + +String &PackedStringArray::operator[](int p_index) { + String *string = (String *) internal::interface->packed_string_array_operator_index((GDNativeTypePtr *)this, p_index); + return *string; +} + +const Vector2 &PackedVector2Array::operator[](int p_index) const { + const Vector2 *vec = (const Vector2 *) internal::interface->packed_vector2_array_operator_index_const((GDNativeTypePtr *)this, p_index); + return *vec; +} + +Vector2 &PackedVector2Array::operator[](int p_index) { + Vector2 *vec = (Vector2 *) internal::interface->packed_vector2_array_operator_index((GDNativeTypePtr *)this, p_index); + return *vec; +} + +const Vector3 &PackedVector3Array::operator[](int p_index) const { + const Vector3 *vec = (const Vector3 *) internal::interface->packed_vector3_array_operator_index_const((GDNativeTypePtr *)this, p_index); + return *vec; +} + +Vector3 &PackedVector3Array::operator[](int p_index) { + Vector3 *vec = (Vector3 *) internal::interface->packed_vector3_array_operator_index((GDNativeTypePtr *)this, p_index); + return *vec; +} + +} // namespace godot |