blob: cc260758a8e088219889361a4c835bf7328cd3d9 (
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
|
#pragma once
#ifndef NAVMESH_TYPES_H_INCLUDED
#define NAVMESH_TYPES_H_INCLUDED
#include "Runtime/Math/Vector3.h"
#include "Runtime/Math/Matrix4x4.h"
#include "Runtime/Scripting/Backend/ScriptingTypes.h"
#include "DetourReference.h"
class NavMeshPath;
// Keep this enum in sync with the one defined in "NavMeshAgentBindings.txt"
enum ObstacleAvoidanceType
{
kNoObstacleAvoidance = 0,
kLowQualityObstacleAvoidance = 1,
kMedQualityObstacleAvoidance = 2,
kGoodQualityObstacleAvoidance = 3,
kHighQualityObstacleAvoidance = 4
};
// Keep this struct in sync with the one defined in "NavMeshBindings.txt"
struct NavMeshHit
{
Vector3f position;
Vector3f normal;
float distance;
int mask;
int hit;
};
// Keep this struct in sync with the one defined in "NavMeshBindings.txt"
enum NavMeshPathStatus
{
kPathComplete = 0,
kPathPartial = 1,
kPathInvalid = 2
};
// Keep this enum in sync with the one defined in "NavMeshBindings.txt"
enum OffMeshLinkType
{
kLinkTypeManual = 0,
kLinkTypeDropDown = 1,
kLinkTypeJumpAcross = 2
};
// Keep this struct in sync with the one defined in "NavMeshBindings.txt"
struct OffMeshLinkData
{
int m_Valid;
int m_Activated;
int m_InstanceID;
OffMeshLinkType m_LinkType;
Vector3f m_StartPos;
Vector3f m_EndPos;
};
// Used in: NavMeshBindings.txt, NavMeshAgentBindings.txt, NavMeshPathBindings.txt
struct MonoNavMeshPath
{
MonoNavMeshPath ()
: native (NULL)
, corners (SCRIPTING_NULL)
{}
NavMeshPath* native;
ScriptingObjectPtr corners;
};
struct NavMeshCarveData
{
Matrix4x4f transform;
Vector3f size;
};
#endif
|