blob: e0be375e83bf8d9c5218751022fecdebc5d8af17 (
plain)
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
|
#pragma once
#ifndef RUNTIME_NAVMESH_PATH
#define RUNTIME_NAVMESH_PATH
#include "Runtime/Math/Vector3.h"
#include "NavMeshTypes.h"
struct OffMeshLinkData;
class NavMeshPath
{
public:
enum
{
kMaxPathPolygons = 256
};
NavMeshPath ();
~NavMeshPath ();
inline Vector3f GetSourcePosition () const;
inline void SetSourcePosition (const Vector3f& sourcePosition);
inline Vector3f GetTargetPosition () const;
inline void SetTargetPosition (const Vector3f& targetPosition);
inline int GetPolygonCount () const;
inline void SetPolygonCount (int polygonCount);
inline unsigned int* GetPolygonPath ();
inline const unsigned int* GetPolygonPath () const;
inline NavMeshPathStatus GetStatus () const;
inline void SetStatus (NavMeshPathStatus status);
inline void SetTimeStamp (unsigned int timeStamp);
private:
unsigned int m_timeStamp;
NavMeshPathStatus m_status;
unsigned int m_polygons[kMaxPathPolygons];
int m_polygonCount;
Vector3f m_sourcePosition;
Vector3f m_targetPosition;
};
inline Vector3f NavMeshPath::GetSourcePosition () const
{
return m_sourcePosition;
}
inline void NavMeshPath::SetSourcePosition (const Vector3f& sourcePosition)
{
m_sourcePosition = sourcePosition;
}
inline Vector3f NavMeshPath::GetTargetPosition () const
{
return m_targetPosition;
}
inline void NavMeshPath::SetTargetPosition (const Vector3f& targetPosition)
{
m_targetPosition = targetPosition;
}
inline int NavMeshPath::GetPolygonCount () const
{
return m_polygonCount;
}
inline void NavMeshPath::SetPolygonCount (int polygonCount)
{
m_polygonCount = polygonCount;
}
inline unsigned int* NavMeshPath::GetPolygonPath ()
{
return m_polygons;
}
inline const unsigned int* NavMeshPath::GetPolygonPath () const
{
return m_polygons;
}
inline NavMeshPathStatus NavMeshPath::GetStatus () const
{
return m_status;
}
inline void NavMeshPath::SetStatus (NavMeshPathStatus status)
{
m_status = status;
}
inline void NavMeshPath::SetTimeStamp (unsigned int timeStamp)
{
m_timeStamp = timeStamp;
}
#endif
|