#pragma once

// 左上座標と幅・高さで表すシンプルな矩形
struct Rect
{
    int x;
    int y;
    int width;
    int height;
};

// 2つの矩形が少しでも重なっていればtrueを返す
inline bool IsHitRect(const Rect& a, const Rect& b)
{
    return
        a.x < b.x + b.width &&
        b.x < a.x + a.width &&
        a.y < b.y + b.height &&
        b.y < a.y + a.height;
}

// 値をminValue～maxValueの範囲に収める
inline int Clamp(int value, int minValue, int maxValue)
{
    if (value < minValue)
        return minValue;

    if (value > maxValue)
        return maxValue;

    return value;
}

// 値の絶対値を返す
inline int AbsInt(int value)
{
    if (value < 0)
        return -value;

    return value;
}
