1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
/* This file is part of the Spring engine (GPL v2 or later), see LICENSE.html */
#ifndef IPATH_H
#define IPATH_H
#include <vector>
#include "System/float3.h"
#include "System/type2.h"
namespace IPath {
// note: ordered from best to worst
enum SearchResult {
Ok,
CantGetCloser,
GoalOutOfRange,
Error
};
typedef std::vector<float3> path_list_type;
typedef std::vector<int2> square_list_type;
struct Path {
Path()
: desiredGoal(ZeroVector)
, pathGoal(ZeroVector)
, goalRadius(-1.0f)
, pathCost(-1.0f)
{}
// Information about the requested path.
float3 desiredGoal;
// Information about the generated path.
float3 pathGoal;
path_list_type path;
square_list_type squares;
float goalRadius;
float pathCost;
};
}
#endif
|