#pragma once #include #include namespace ant::core { template struct Vec2 { T X; T Y; }; template auto operator+(const Vec2& lhs, const Vec2& rhs) -> Vec2{ return {.X = lhs.X + rhs.X, .Y = lhs.Y + rhs.Y}; } template struct transform { Vec2 position; float angle; }; template auto operator+(const transform& lhs, const transform& rhs) -> transform{ return {.position = lhs.position + rhs.position, .angle = std::fmod(lhs.angle + rhs.angle, 180.0f)}; } }