30 lines
739 B
C++
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
|