@@ -54,36 +54,127 @@ class Vector2 : public ::Vector2 {
5454 */
5555 Vector2 Add (const ::Vector2& vector2) const { return Vector2Add (*this , vector2); }
5656
57+ /* *
58+ * Add two vectors (v1 + v2)
59+ */
60+ Vector2 operator +(const ::Vector2& vector2) const { return Vector2Add (*this , vector2); }
61+
62+ /* *
63+ * Add two vectors (v1 + v2)
64+ */
65+ Vector2& operator +=(const ::Vector2& vector2) {
66+ set (Vector2Add (*this , vector2));
67+
68+ return *this ;
69+ }
70+
5771 /* *
5872 * Subtract two vectors (v1 - v2)
5973 */
6074 Vector2 Subtract (const ::Vector2& vector2) const { return Vector2Subtract (*this , vector2); }
6175
76+ /* *
77+ * Subtract two vectors (v1 - v2)
78+ */
79+ Vector2 operator -(const ::Vector2& vector2) const { return Vector2Subtract (*this , vector2); }
80+
81+ /* *
82+ * Subtract two vectors (v1 - v2)
83+ */
84+ Vector2& operator -=(const ::Vector2& vector2) {
85+ set (Vector2Subtract (*this , vector2));
86+
87+ return *this ;
88+ }
89+
6290 /* *
6391 * Negate vector
6492 */
6593 Vector2 Negate () const { return Vector2Negate (*this ); }
6694
95+ /* *
96+ * Negate vector
97+ */
98+ Vector2 operator -() const { return Vector2Negate (*this ); }
99+
67100 /* *
68101 * Multiply vector by vector
69102 */
70103 Vector2 Multiply (const ::Vector2& vector2) const { return Vector2Multiply (*this , vector2); }
71104
105+ /* *
106+ * Multiply vector by vector
107+ */
108+ Vector2 operator *(const ::Vector2& vector2) const { return Vector2Multiply (*this , vector2); }
109+
110+ /* *
111+ * Multiply vector by vector
112+ */
113+ Vector2& operator *=(const ::Vector2& vector2) {
114+ set (Vector2Multiply (*this , vector2));
115+
116+ return *this ;
117+ }
118+
72119 /* *
73120 * Scale vector (multiply by value)
74121 */
75122 Vector2 Scale (const float scale) const { return Vector2Scale (*this , scale); }
76123
124+ /* *
125+ * Scale vector (multiply by value)
126+ */
127+ Vector2 operator *(const float scale) const { return Vector2Scale (*this , scale); }
128+
129+ /* *
130+ * Scale vector (multiply by value)
131+ */
132+ Vector2& operator *=(const float scale) {
133+ set (Vector2Scale (*this , scale));
134+
135+ return *this ;
136+ }
137+
77138 /* *
78139 * Divide vector by vector
79140 */
80141 Vector2 Divide (const ::Vector2& vector2) const { return Vector2Divide (*this , vector2); }
81142
143+
144+ /* *
145+ * Divide vector by vector
146+ */
147+ Vector2 operator /(const ::Vector2& vector2) const { return Vector2Divide (*this , vector2); }
148+
149+ /* *
150+ * Divide vector by vector
151+ */
152+ Vector2& operator /=(const ::Vector2& vector2) {
153+ set (Vector2Divide (*this , vector2));
154+
155+ return *this ;
156+ }
157+
82158 /* *
83159 * Divide vector by value
84160 */
85161 Vector2 Divide (const float div) const { return ::Vector2{x / div, y / div}; }
86162
163+ /* *
164+ * Divide vector by value
165+ */
166+ Vector2 operator /(const float div) const { return Divide (div); }
167+
168+ /* *
169+ * Divide vector by value
170+ */
171+ Vector2& operator /=(const float div) {
172+ this ->x /= div;
173+ this ->y /= div;
174+
175+ return *this ;
176+ }
177+
87178 /* *
88179 * Normalize provided vector
89180 */
0 commit comments