Files
PixelDefense/game/pathfinding.h

31 lines
620 B
C

#ifndef PIXELDEFENSE_PATHFINDING_H
#define PIXELDEFENSE_PATHFINDING_H
#include <breeze.h>
#include "components.h"
typedef struct PathNode {
i32 weight; // fCost = g + h
i32 gCost; // from start cost
i32 hCost; // to target cost
bool visited;
TilePosition pos;
} PathNode;
typedef struct PathfindingDesc {
TilePosition start;
TilePosition target;
BzObjectPool *pool;
BzTileMap *map;
PathNode *openSet; // heap
Path *outPath;
} PathfindingDesc;
bool findPath(const PathfindingDesc *desc);
// TODO: Flowfield
void calculateFlowField();
#endif //PIXELDEFENSE_PATHFINDING_H