Fix precompiled headers

Added edge detection (if it works :/)
This commit is contained in:
Bram Verhulst
2024-04-06 01:23:24 +02:00
parent 71d364d9d8
commit 9def986c83
25 changed files with 932 additions and 593 deletions

View File

@@ -1,5 +1,6 @@
#pragma once
#include <array>
#include <map>
#include <vector>
#include "structs.h"
@@ -12,17 +13,32 @@ static const int TILE_HEIGHT = 50;
class WorldTile;
enum TileDirection
{
TopLeft,
TopMiddle,
TopRight,
MiddleLeft,
//me
MiddleRight,
BottomLeft,
BottomMiddle,
BottomRight
};
struct surroundingTiles
{
std::array<WorldTile *, 8> tiles;
//Center of the surrounding tiles is 0, 0
void SetTile(int x, int y, WorldTile* tile) {
tiles[x + y * 3] = tile;
std::map<TileDirection, WorldTile *> m_tiles;
void SetTile(TileDirection direction, WorldTile* tile) {
m_tiles[direction] = tile;
}
WorldTile * GetTile(int x, int y) {
return tiles[x + y * 3];
WorldTile* GetTile(TileDirection direction) {
return m_tiles[direction];
}
};
@@ -31,7 +47,7 @@ class WorldGridManager
public:
WorldGridManager();
~WorldGridManager();
std::vector<WorldTile*> GetSurroundingTiles(const WorldTile* world_tile);
surroundingTiles GetSurroundingTiles(const WorldTile* world_tile);
Point2f GetIndexFromPosition(Point2f position);
WorldGridManager(const WorldGridManager& other) = default;