#pragma once

#include "Common.h"

// ステージを表すクラス
class Stage
{
public:
    // マップデータの数字が何を表しているかを定義する
    enum TileType
    {
        TileEmpty = 0,
        TileSolid = 1,
        TileGoal = 2
    };

    // ステージ全体で使うタイルの基本サイズ
    static const int tileSize = 32;
    static const int mapWidth = 20;
    static const int mapHeight = 15;

    void Initialize();

    bool IsSolidTile(int tileX, int tileY) const;
    bool IsSolidAtRect(const Rect& rect) const;

    void Draw() const;

    Rect GetGoal() const;

private:
    void DrawTile(int tileX, int tileY) const;
    void DrawGoal() const;

private:
    // ゴール位置はInitializeでステージ座標から設定する
    Rect goal = { 0, 0, tileSize, tileSize };
};
