summaryrefslogtreecommitdiff
path: root/Runtime/NavMesh/NavigationModuleRegistration.cpp
blob: 9bb7ed8f65667d90b2069301459655c3dafbe8df (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
#include "UnityPrefix.h"
#include "Runtime/BaseClasses/ClassRegistration.h"
#include "Runtime/Modules/ModuleRegistration.h"

static void RegisterNavMeshClasses (ClassRegistrationContext& context)
{
	REGISTER_CLASS (NavMeshLayers)
	REGISTER_CLASS (NavMesh)
	REGISTER_CLASS (NavMeshAgent)
	REGISTER_CLASS (NavMeshSettings)
	REGISTER_CLASS (OffMeshLink)
	REGISTER_CLASS (NavMeshObstacle)
}

#if ENABLE_MONO || UNITY_WINRT
void ExportNavMeshBindings ();
void ExportNavMeshPathBindings ();
void ExportNavMeshAgentBindings ();
void ExportNavMeshObstacleBindings ();

static void RegisterNavmeshICallModule ()
{
#if !INTERNAL_CALL_STRIPPING
	ExportNavMeshBindings ();
	ExportNavMeshPathBindings ();
	ExportNavMeshAgentBindings ();
	ExportNavMeshObstacleBindings ();
#endif
}
#endif

extern "C" EXPORT_MODULE void RegisterModule_Navigation ()
{
	ModuleRegistrationInfo info;
	info.registerClassesCallback = &RegisterNavMeshClasses;
#if ENABLE_MONO || UNITY_WINRT
	info.registerIcallsCallback = &RegisterNavmeshICallModule;
#endif
	RegisterModuleInfo (info);
}