#pragma once #include #include #include "structs.h" static const int WORLD_WIDTH = 34; static const int WORLD_HEIGHT = 34; static const int TILE_WIDTH = 50; static const int TILE_HEIGHT = 50; class WorldTile; struct surroundingTiles { std::array tiles; //Center of the surrounding tiles is 0, 0 void SetTile(int x, int y, WorldTile* tile) { tiles[x + y * 3] = tile; } WorldTile* GetTile(int x, int y) { return tiles[x + y * 3]; } }; class WorldGridManager { public: WorldGridManager(); ~WorldGridManager(); WorldTile* GetTileAtIndex(const int x, const int y) const; WorldTile* GetTileAtWorldPos(const Point2f& pos) const; void SetTileAtIndex(const int x, const int y, WorldTile* tile); private: std::array, WORLD_HEIGHT> m_worldTiles; };