Files
Ascent-of-Man/pathfinder.h
T
2026-11-08 17:06:47 +01:00

30 lines
739 B
C++

#ifndef PATHFINDER_H
#define PATHFINDER_H
#include <vector>
#include <utility>
#include <QVector2D>
#include "terrain.h"
#include "matrix2d.h"
#include "terrainmovementmanager.h"
struct UnitConfig;
class Pathfinder {
public:
static QVector2D hexToWorld(int x, int y);
static void worldToHex(float wx, float wy, int &outX, int &outY);
static int hexDistance(int x1, int y1, int x2, int y2);
static std::vector<std::pair<int, int>> findPath(
int startX, int startY,
int goalX, int goalY,
Matrix2D<TerrainPoint> *mapPoints = nullptr,
int numPoints05 = 0,
MovementDomain domain = MovementDomain::Land,
const UnitConfig *unitConfig = nullptr
);
};
#endif // PATHFINDER_H