Files
PixelDefense/game/pathfinding.h

31 lines
612 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 {
Position start;
Position target;
BzObjectPool *pool;
BzTileMap *map;
PathNode *openSet; // heap
Path *outPath;
} PathfindingDesc;
bool findPath(const PathfindingDesc *desc);
// TODO: Flowfield
void calculateFlowField();
#endif //PIXELDEFENSE_PATHFINDING_H