#include "Vector2i.hpp" #include "Vector2.hpp" #include "Vector3.hpp" #include "Vector4.hpp" #include TSE::Vector2i::Vector2i() { } TSE::Vector2i::Vector2i(int _x, int _y) { x = _x; y = _y; } TSE::Vector2i::Vector2i(const Vector2i &other) { x = other.x; y = other.y; } TSE::Vector2i::Vector2i(const Vector2 &other) { x = other.x; y = other.y; } TSE::Vector2i::Vector2i(const Vector3 &other) { x = other.x; y = other.y; } TSE::Vector2i::Vector2i(const Vector4 &other) { x = other.x; y = other.y; } bool TSE::Vector2i::IsValid() const { return !std::isnan(x) && !std::isnan(y); } TSE::string TSE::Vector2i::ToString() const { return "(" + std::to_string(x) + "|" + std::to_string(y) + ")"; } TSE::Vector2 TSE::Vector2i::ToVector2() const { return Vector2(); } TSE::Vector3 TSE::Vector2i::ToVector3() const { return Vector3(x,y,0); } TSE::Vector4 TSE::Vector2i::ToVector4() const { return Vector4(x,y,0,0); } TSE::Vector2i TSE::Vector2i::operator+(const Vector2i &other) const { return Vector2i(x + other.x, y + other.y); } TSE::Vector2i TSE::Vector2i::operator+=(const Vector2i &other) { *this = *this + other; return *this; } TSE::Vector2i TSE::Vector2i::operator-(const Vector2i &other) const { return Vector2i(x - other.x, y - other.y); } TSE::Vector2i TSE::Vector2i::operator-=(const Vector2i &other) { *this = *this - other; return *this; } TSE::Vector2i TSE::Vector2i::operator*(const Vector2i &other) const { return Vector2i(x * other.x, y * other.y); } TSE::Vector2i TSE::Vector2i::operator*=(const Vector2i &other) { *this = *this * other; return *this; } TSE::Vector2i TSE::Vector2i::operator/(const Vector2i &other) const { return Vector2i(x / other.x, y / other.y); } TSE::Vector2i TSE::Vector2i::operator/=(const Vector2i &other) { *this = *this / other; return *this; } TSE::Vector2i TSE::Vector2i::operator*(const float other) const { return Vector2i(x * other, y * other); } TSE::Vector2i TSE::Vector2i::operator*=(const float other) { *this = *this * other; return *this; } TSE::Vector2i TSE::Vector2i::operator/(const float other) const { return Vector2i(x / other, y / other); } TSE::Vector2i TSE::Vector2i::operator/=(const float other) { *this = *this / other; return *this; } bool TSE::Vector2i::operator==(const Vector2i &other) const { return x == other.x && y == other.y; } bool TSE::Vector2i::operator!=(const Vector2i &other) const { return !(*this == other); }