PoolArrays.hpp 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239
  1. #ifndef POOLARRAYS_H
  2. #define POOLARRAYS_H
  3. #include "Defs.hpp"
  4. #include "String.hpp"
  5. #include "Color.hpp"
  6. #include "Vector2.hpp"
  7. #include "Vector3.hpp"
  8. #include <godot/pool_arrays.h>
  9. namespace godot {
  10. class Array;
  11. class PoolByteArray {
  12. godot_pool_byte_array _godot_array;
  13. public:
  14. PoolByteArray();
  15. PoolByteArray(const Array& array);
  16. void append(const uint8_t data);
  17. void append_array(const PoolByteArray& array);
  18. int insert(const int idx, const uint8_t data);
  19. void invert();
  20. void push_back(const uint8_t data);
  21. void remove(const int idx);
  22. void resize(const int size);
  23. void set(const int idx, const uint8_t data);
  24. uint8_t operator [](const int idx);
  25. int size();
  26. ~PoolByteArray();
  27. };
  28. class PoolIntArray {
  29. godot_pool_int_array _godot_array;
  30. public:
  31. PoolIntArray();
  32. PoolIntArray(const Array& array);
  33. void append(const int data);
  34. void append_array(const PoolIntArray& array);
  35. int insert(const int idx, const int data);
  36. void invert();
  37. void push_back(const int data);
  38. void remove(const int idx);
  39. void resize(const int size);
  40. void set(const int idx, const int data);
  41. int operator [](const int idx);
  42. int size();
  43. ~PoolIntArray();
  44. };
  45. class PoolRealArray {
  46. godot_pool_real_array _godot_array;
  47. public:
  48. PoolRealArray();
  49. PoolRealArray(const Array& array);
  50. void append(const real_t data);
  51. void append_array(const PoolRealArray& array);
  52. int insert(const int idx, const real_t data);
  53. void invert();
  54. void push_back(const real_t data);
  55. void remove(const int idx);
  56. void resize(const int size);
  57. void set(const int idx, const real_t data);
  58. real_t operator [](const int idx);
  59. int size();
  60. ~PoolRealArray();
  61. };
  62. class PoolStringArray {
  63. godot_pool_string_array _godot_array;
  64. public:
  65. PoolStringArray();
  66. PoolStringArray(const Array& array);
  67. void append(const String& data);
  68. void append_array(const PoolStringArray& array);
  69. int insert(const int idx, const String& data);
  70. void invert();
  71. void push_back(const String& data);
  72. void remove(const int idx);
  73. void resize(const int size);
  74. void set(const int idx, const String& data);
  75. String operator [](const int idx);
  76. int size();
  77. ~PoolStringArray();
  78. };
  79. class PoolVector2Array {
  80. godot_pool_vector2_array _godot_array;
  81. public:
  82. PoolVector2Array();
  83. PoolVector2Array(const Array& array);
  84. void append(const Vector2& data);
  85. void append_array(const PoolVector2Array& array);
  86. int insert(const int idx, const Vector2& data);
  87. void invert();
  88. void push_back(const Vector2& data);
  89. void remove(const int idx);
  90. void resize(const int size);
  91. void set(const int idx, const Vector2& data);
  92. Vector2 operator [](const int idx);
  93. int size();
  94. ~PoolVector2Array();
  95. };
  96. class PoolVector3Array {
  97. godot_pool_vector3_array _godot_array;
  98. public:
  99. PoolVector3Array();
  100. PoolVector3Array(const Array& array);
  101. void append(const Vector3& data);
  102. void append_array(const PoolVector3Array& array);
  103. int insert(const int idx, const Vector3& data);
  104. void invert();
  105. void push_back(const Vector3& data);
  106. void remove(const int idx);
  107. void resize(const int size);
  108. void set(const int idx, const Vector3& data);
  109. Vector3 operator [](const int idx);
  110. int size();
  111. ~PoolVector3Array();
  112. };
  113. class PoolColorArray {
  114. godot_pool_color_array _godot_array;
  115. public:
  116. PoolColorArray();
  117. PoolColorArray(const Array& array);
  118. void append(const Color& data);
  119. void append_array(const PoolColorArray& array);
  120. int insert(const int idx, const Color& data);
  121. void invert();
  122. void push_back(const Color& data);
  123. void remove(const int idx);
  124. void resize(const int size);
  125. void set(const int idx, const Color& data);
  126. Color operator [](const int idx);
  127. int size();
  128. ~PoolColorArray();
  129. };
  130. }
  131. #endif // POOLARRAYS_H