summaryrefslogtreecommitdiff
path: root/Runtime/Scripting/WinRTMarshalers.h
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2019-08-14 22:50:43 +0800
committerchai <chaifix@163.com>2019-08-14 22:50:43 +0800
commit15740faf9fe9fe4be08965098bbf2947e096aeeb (patch)
treea730ec236656cc8cab5b13f088adfaed6bb218fb /Runtime/Scripting/WinRTMarshalers.h
+Unity Runtime codeHEADmaster
Diffstat (limited to 'Runtime/Scripting/WinRTMarshalers.h')
-rw-r--r--Runtime/Scripting/WinRTMarshalers.h66
1 files changed, 66 insertions, 0 deletions
diff --git a/Runtime/Scripting/WinRTMarshalers.h b/Runtime/Scripting/WinRTMarshalers.h
new file mode 100644
index 0000000..c125a22
--- /dev/null
+++ b/Runtime/Scripting/WinRTMarshalers.h
@@ -0,0 +1,66 @@
+#ifndef WINRTMARSHALERS_H
+#define WINRTMARSHALERS_H
+
+#if UNITY_WINRT && ENABLE_SCRIPTING
+
+class AssetBundleCreateRequest;
+struct AssetBundleRequestMono;
+struct MonoLOD;
+struct MonoNavMeshPath;
+struct MonoGUIContent;
+struct Coroutine;
+class WWW;
+struct LightmapDataMono;
+struct MonoTreePrototype;
+struct AnimationEvent;
+struct ControllerColliderHit;
+class AsyncOperation;
+struct MonoContactPoint;
+struct MonoWebCamDevice;
+struct MonoCollision;
+struct MonoDetailPrototype;
+struct MonoSplatPrototype;
+struct ScriptingCollision2D;
+struct ScriptingContactPoint2D;
+struct ScriptingCharacterInfo;
+
+void SetupMarshalCallbacks();
+
+void MarshallManagedStructIntoNative(ScriptingObjectPtr so, AssetBundleCreateRequest** dest);
+void MarshallManagedStructIntoNative(ScriptingObjectPtr so, MonoLOD* dest);
+void MarshallManagedStructIntoNative(ScriptingObjectPtr so, MonoNavMeshPath* dest);
+void MarshallManagedStructIntoNative(ScriptingObjectPtr so, MonoGUIContent* dest);
+void MarshallManagedStructIntoNative(ScriptingObjectPtr so, float* dest);
+void MarshallManagedStructIntoNative(ScriptingObjectPtr so, Coroutine** dest);
+void MarshallManagedStructIntoNative(ScriptingObjectPtr so, WWW** dest);
+void MarshallManagedStructIntoNative(ScriptingObjectPtr so, LightmapDataMono* dest);
+void MarshallManagedStructIntoNative(ScriptingObjectPtr so, MonoTreePrototype* dest);
+void MarshallManagedStructIntoNative(ScriptingObjectPtr so, MonoDetailPrototype* dest);
+void MarshallManagedStructIntoNative(ScriptingObjectPtr so, MonoSplatPrototype* dest);
+void MarshallManagedStructIntoNative(ScriptingObjectPtr so, ScriptingCharacterInfo* dest);
+
+template<class T> inline
+void MarshallManagedStructIntoNative(ScriptingObjectPtr so, T* dest)
+{
+ MarshallManagedStructIntoNative(so, dest);
+}
+
+void MarshallNativeStructIntoManaged(const AnimationEvent* src, ScriptingObjectPtr& dest);
+void MarshallNativeStructIntoManaged(const AssetBundleRequestMono& src, ScriptingObjectPtr& dest);
+void MarshallNativeStructIntoManaged(const MonoNavMeshPath& src, ScriptingObjectPtr& dest);
+void MarshallNativeStructIntoManaged(const void* src, ScriptingObjectPtr& dest);
+void MarshallNativeStructIntoManaged(const ControllerColliderHit& src, ScriptingObjectPtr& dest);
+void MarshallNativeStructIntoManaged(const AsyncOperation* src, ScriptingObjectPtr& dest);
+void MarshallNativeStructIntoManaged(const MonoContactPoint& src, ScriptingObjectPtr& dest);
+void MarshallNativeStructIntoManaged(const MonoTreePrototype& src, ScriptingObjectPtr& dest);
+void MarshallNativeStructIntoManaged(const MonoWebCamDevice& src, ScriptingObjectPtr& dest);
+void MarshallNativeStructIntoManaged(const MonoCollision& src, ScriptingObjectPtr& dest);
+void MarshallNativeStructIntoManaged(const LightmapDataMono& src, ScriptingObjectPtr& dest);
+void MarshallNativeStructIntoManaged(const MonoDetailPrototype& src, ScriptingObjectPtr& dest);
+void MarshallNativeStructIntoManaged(const MonoSplatPrototype& src, ScriptingObjectPtr& dest);
+void MarshallNativeStructIntoManaged(const ScriptingCollision2D& src, ScriptingObjectPtr& dest);
+void MarshallNativeStructIntoManaged(const ScriptingContactPoint2D& src, ScriptingObjectPtr& dest);
+void MarshallNativeStructIntoManaged(const ScriptingCharacterInfo& src, ScriptingObjectPtr& dest);
+#endif
+
+#endif