#pragma once

#include <SFML/System/Clock.hpp>

using microsec = sf::Int64;

struct Coordinates
{
    float x = 0.;
    float y = 0.;

    constexpr inline Coordinates operator+(const Coordinates& right) const noexcept
    {
        return {right.x + x, right.y + y};
    }

    constexpr inline Coordinates operator-(const Coordinates& right) const noexcept
    {
        return {right.x - x, right.y - y};
    }

    inline void moveBy(float x, float y) noexcept
    {
        this->x += x;
        this->y += y;
    }

    inline void moveBy(const Coordinates& right) noexcept
    {
        this->x += right.x;
        this->y += right.y;
    }

    inline void scale(float factor) noexcept
    {
        x *= factor;
        y *= factor;
    }
};