diff --git a/unity/Assets/Duktape/Editor/BindingManager.cs b/unity/Assets/Duktape/Editor/BindingManager.cs index b638328..a44bf17 100644 --- a/unity/Assets/Duktape/Editor/BindingManager.cs +++ b/unity/Assets/Duktape/Editor/BindingManager.cs @@ -618,7 +618,23 @@ public string GetDuktapePusher(Type type) { return "duk_push_delegate"; } - return "duk_push_any"; + if (type.IsValueType) + { + if (type.IsPrimitive) + { + return "duk_push_primitive"; + } + if (type.IsEnum) + { + return "duk_push_enumvalue"; + } + return "duk_push_structvalue"; + } + if (type == typeof(string)) + { + return "duk_push_primitive"; + } + return "duk_push_classvalue"; } public static string GetTSVariable(string name) diff --git a/unity/Assets/Duktape/Plugins/Android/libs/arm64-v8a/libduktape.so.meta b/unity/Assets/Duktape/Plugins/Android/libs/arm64-v8a/libduktape.so.meta index bec071c..13c99cd 100644 --- a/unity/Assets/Duktape/Plugins/Android/libs/arm64-v8a/libduktape.so.meta +++ b/unity/Assets/Duktape/Plugins/Android/libs/arm64-v8a/libduktape.so.meta @@ -11,16 +11,94 @@ PluginImporter: isExplicitlyReferenced: 0 platformData: - first: - Any: + '': Any + second: + enabled: 0 + settings: + Exclude Android: 0 + Exclude Editor: 1 + Exclude Linux: 1 + Exclude Linux64: 1 + Exclude LinuxUniversal: 1 + Exclude OSXUniversal: 1 + Exclude Win: 1 + Exclude Win64: 1 + Exclude iOS: 1 + - first: + Android: Android second: enabled: 1 + settings: + CPU: ARM64 + - first: + Any: + second: + enabled: 0 settings: {} - first: Editor: Editor second: enabled: 0 settings: + CPU: AnyCPU DefaultValueInitialized: true + OS: AnyOS + - first: + Facebook: Win + second: + enabled: 0 + settings: + CPU: AnyCPU + - first: + Facebook: Win64 + second: + enabled: 0 + settings: + CPU: AnyCPU + - first: + Standalone: Linux + second: + enabled: 0 + settings: + CPU: x86 + - first: + Standalone: Linux64 + second: + enabled: 0 + settings: + CPU: x86_64 + - first: + Standalone: LinuxUniversal + second: + enabled: 0 + settings: + CPU: None + - first: + Standalone: OSXUniversal + second: + enabled: 0 + settings: + CPU: AnyCPU + - first: + Standalone: Win + second: + enabled: 0 + settings: + CPU: AnyCPU + - first: + Standalone: Win64 + second: + enabled: 0 + settings: + CPU: AnyCPU + - first: + iPhone: iOS + second: + enabled: 0 + settings: + AddToEmbeddedBinaries: false + CompileFlags: + FrameworkDependencies: userData: assetBundleName: assetBundleVariant: diff --git a/unity/Assets/Duktape/Plugins/Android/libs/armeabi-v7a/libduktape.so.meta b/unity/Assets/Duktape/Plugins/Android/libs/armeabi-v7a/libduktape.so.meta index 5dd50b2..641d12c 100644 --- a/unity/Assets/Duktape/Plugins/Android/libs/armeabi-v7a/libduktape.so.meta +++ b/unity/Assets/Duktape/Plugins/Android/libs/armeabi-v7a/libduktape.so.meta @@ -11,16 +11,94 @@ PluginImporter: isExplicitlyReferenced: 0 platformData: - first: - Any: + '': Any + second: + enabled: 0 + settings: + Exclude Android: 0 + Exclude Editor: 1 + Exclude Linux: 1 + Exclude Linux64: 1 + Exclude LinuxUniversal: 1 + Exclude OSXUniversal: 1 + Exclude Win: 1 + Exclude Win64: 1 + Exclude iOS: 1 + - first: + Android: Android second: enabled: 1 + settings: + CPU: ARMv7 + - first: + Any: + second: + enabled: 0 settings: {} - first: Editor: Editor second: enabled: 0 settings: + CPU: AnyCPU DefaultValueInitialized: true + OS: AnyOS + - first: + Facebook: Win + second: + enabled: 0 + settings: + CPU: AnyCPU + - first: + Facebook: Win64 + second: + enabled: 0 + settings: + CPU: AnyCPU + - first: + Standalone: Linux + second: + enabled: 0 + settings: + CPU: x86 + - first: + Standalone: Linux64 + second: + enabled: 0 + settings: + CPU: x86_64 + - first: + Standalone: LinuxUniversal + second: + enabled: 0 + settings: + CPU: None + - first: + Standalone: OSXUniversal + second: + enabled: 0 + settings: + CPU: AnyCPU + - first: + Standalone: Win + second: + enabled: 0 + settings: + CPU: AnyCPU + - first: + Standalone: Win64 + second: + enabled: 0 + settings: + CPU: AnyCPU + - first: + iPhone: iOS + second: + enabled: 0 + settings: + AddToEmbeddedBinaries: false + CompileFlags: + FrameworkDependencies: userData: assetBundleName: assetBundleVariant: diff --git a/unity/Assets/Duktape/Plugins/Android/libs/x86/libduktape.so.meta b/unity/Assets/Duktape/Plugins/Android/libs/x86/libduktape.so.meta index 1a3d588..f54e808 100644 --- a/unity/Assets/Duktape/Plugins/Android/libs/x86/libduktape.so.meta +++ b/unity/Assets/Duktape/Plugins/Android/libs/x86/libduktape.so.meta @@ -11,16 +11,94 @@ PluginImporter: isExplicitlyReferenced: 0 platformData: - first: - Any: + '': Any + second: + enabled: 0 + settings: + Exclude Android: 0 + Exclude Editor: 1 + Exclude Linux: 1 + Exclude Linux64: 1 + Exclude LinuxUniversal: 1 + Exclude OSXUniversal: 1 + Exclude Win: 1 + Exclude Win64: 1 + Exclude iOS: 1 + - first: + Android: Android second: enabled: 1 + settings: + CPU: x86 + - first: + Any: + second: + enabled: 0 settings: {} - first: Editor: Editor second: enabled: 0 settings: + CPU: AnyCPU DefaultValueInitialized: true + OS: AnyOS + - first: + Facebook: Win + second: + enabled: 0 + settings: + CPU: AnyCPU + - first: + Facebook: Win64 + second: + enabled: 0 + settings: + CPU: AnyCPU + - first: + Standalone: Linux + second: + enabled: 0 + settings: + CPU: x86 + - first: + Standalone: Linux64 + second: + enabled: 0 + settings: + CPU: x86_64 + - first: + Standalone: LinuxUniversal + second: + enabled: 0 + settings: + CPU: None + - first: + Standalone: OSXUniversal + second: + enabled: 0 + settings: + CPU: AnyCPU + - first: + Standalone: Win + second: + enabled: 0 + settings: + CPU: AnyCPU + - first: + Standalone: Win64 + second: + enabled: 0 + settings: + CPU: AnyCPU + - first: + iPhone: iOS + second: + enabled: 0 + settings: + AddToEmbeddedBinaries: false + CompileFlags: + FrameworkDependencies: userData: assetBundleName: assetBundleVariant: diff --git a/unity/Assets/Duktape/Source/DuktapeAux.cs b/unity/Assets/Duktape/Source/DuktapeAux.cs index 9177911..c1a1d1d 100644 --- a/unity/Assets/Duktape/Source/DuktapeAux.cs +++ b/unity/Assets/Duktape/Source/DuktapeAux.cs @@ -1,4 +1,5 @@ using System; +using System.Text.RegularExpressions; using UnityEngine; namespace Duktape @@ -40,6 +41,33 @@ public static void PrintError(IntPtr ctx, int idx, string filename) err = DuktapeDLL.duk_safe_to_string(ctx, idx); } + if (duk_source_position != default_duk_source_position) + { + var errlines = err.Split('\n'); + err = ""; + var reg = new Regex(@"^\s+at\s(.+)\s\((.+\.js):(\d+)\)(.*)$", RegexOptions.Compiled); + for (var i = 0; i < errlines.Length; i++) + { + var line = errlines[i]; + var matches = reg.Matches(line); + if (matches.Count == 1) + { + var match = matches[0]; + if (match.Groups.Count >= 4) + { + var funcName = match.Groups[1].Value; + var fileName = match.Groups[2].Value; + var lineNumber = 0; + int.TryParse(match.Groups[3].Value, out lineNumber); + var extra = match.Groups.Count >= 5 ? match.Groups[4].Value : ""; + var sroucePosition = duk_source_position(ctx, funcName, fileName, lineNumber); + err += $" at {sroucePosition}{extra}\n"; + continue; + } + } + err += line + "\n"; + } + } if (filename != null) { Debug.LogError($"[JSError][{filename}] {err}"); @@ -116,6 +144,7 @@ public static int duk_print(IntPtr ctx) var fileName = DuktapeDLL.duk_safe_to_string(ctx, -1); DuktapeDLL.duk_pop_n(ctx, 4); stacktrace += (duk_source_position ?? default_duk_source_position)(ctx, funcName, fileName, lineNumber); + stacktrace += "\n"; } else { @@ -137,9 +166,9 @@ public static string default_duk_source_position(IntPtr ctx, string funcName, st { funcName = "[anonymous]"; } - return $"{funcName} ({fileName}:{lineNumber})\n"; + return $"{funcName} ({fileName}:{lineNumber})"; } - return $"{funcName} ()\n"; + return $"{funcName} ()"; } [AOT.MonoPInvokeCallback(typeof(DuktapeDLL.duk_c_function))] diff --git a/unity/Assets/Duktape/Source/DuktapeBinding_push.cs b/unity/Assets/Duktape/Source/DuktapeBinding_push.cs index 08daf48..5935108 100644 --- a/unity/Assets/Duktape/Source/DuktapeBinding_push.cs +++ b/unity/Assets/Duktape/Source/DuktapeBinding_push.cs @@ -8,124 +8,141 @@ namespace Duktape public partial class DuktapeBinding { - public static void duk_push_any(IntPtr ctx, bool o) + public static void duk_push_primitive(IntPtr ctx, IntPtr o) + { + duk_push_classvalue(ctx, o); + } + + public static void duk_push_primitive(IntPtr ctx, bool o) { DuktapeDLL.duk_push_boolean(ctx, o); } - public static void duk_push_any(IntPtr ctx, sbyte o) + public static void duk_push_primitive(IntPtr ctx, sbyte o) { DuktapeDLL.duk_push_int(ctx, o); } - public static void duk_push_any(IntPtr ctx, byte o) + public static void duk_push_primitive(IntPtr ctx, byte o) { DuktapeDLL.duk_push_int(ctx, o); } - public static void duk_push_any(IntPtr ctx, char o) + public static void duk_push_primitive(IntPtr ctx, char o) { DuktapeDLL.duk_push_int(ctx, o); } - public static void duk_push_any(IntPtr ctx, string o) + public static void duk_push_primitive(IntPtr ctx, string o) { DuktapeDLL.duk_push_string(ctx, o); } - public static void duk_push_any(IntPtr ctx, short o) + public static void duk_push_primitive(IntPtr ctx, short o) { DuktapeDLL.duk_push_int(ctx, o); } - public static void duk_push_any(IntPtr ctx, ushort o) + public static void duk_push_primitive(IntPtr ctx, ushort o) { DuktapeDLL.duk_push_int(ctx, o); } - public static void duk_push_any(IntPtr ctx, int o) + public static void duk_push_primitive(IntPtr ctx, int o) { DuktapeDLL.duk_push_int(ctx, o); } - public static void duk_push_any(IntPtr ctx, uint o) + public static void duk_push_primitive(IntPtr ctx, uint o) { DuktapeDLL.duk_push_uint(ctx, o); } - public static void duk_push_any(IntPtr ctx, long o) + public static void duk_push_primitive(IntPtr ctx, long o) { DuktapeDLL.duk_push_number(ctx, o); } - public static void duk_push_any(IntPtr ctx, ulong o) + public static void duk_push_primitive(IntPtr ctx, ulong o) { DuktapeDLL.duk_push_number(ctx, o); } - public static void duk_push_any(IntPtr ctx, float o) + public static void duk_push_primitive(IntPtr ctx, float o) { DuktapeDLL.duk_push_number(ctx, o); } - public static void duk_push_any(IntPtr ctx, double o) + public static void duk_push_primitive(IntPtr ctx, double o) { DuktapeDLL.duk_push_number(ctx, o); } - public static void duk_push_any(IntPtr ctx, LayerMask o) + public static void duk_push_structvalue(IntPtr ctx, LayerMask o) { DuktapeDLL.duk_push_int(ctx, (int)o); } - public static void duk_push_any(IntPtr ctx, Color o) + public static void duk_push_structvalue(IntPtr ctx, Color o) { DuktapeDLL.duk_unity_push_color(ctx, o.r, o.g, o.b, o.a); } - public static void duk_push_any(IntPtr ctx, Color32 o) + public static void duk_push_structvalue(IntPtr ctx, Color32 o) { DuktapeDLL.duk_unity_push_color32(ctx, o.r, o.g, o.b, o.a); } - public static void duk_push_any(IntPtr ctx, Vector2 o) + public static void duk_push_structvalue(IntPtr ctx, Vector2 o) { DuktapeDLL.duk_unity_push_vector2(ctx, o.x, o.y); } - public static void duk_push_any(IntPtr ctx, Vector2Int o) + public static void duk_push_structvalue(IntPtr ctx, Vector2Int o) { DuktapeDLL.duk_unity_push_vector2i(ctx, o.x, o.y); } - public static void duk_push_any(IntPtr ctx, Vector3 o) + public static void duk_push_structvalue(IntPtr ctx, Vector3 o) { DuktapeDLL.duk_unity_push_vector3(ctx, o.x, o.y, o.z); } - public static void duk_push_any(IntPtr ctx, Vector3Int o) + public static void duk_push_structvalue(IntPtr ctx, Vector3Int o) { DuktapeDLL.duk_unity_push_vector3i(ctx, o.x, o.y, o.z); } - public static void duk_push_any(IntPtr ctx, Vector4 o) + public static void duk_push_structvalue(IntPtr ctx, Vector4 o) { DuktapeDLL.duk_unity_push_vector4(ctx, o.x, o.y, o.z, o.w); } - public static void duk_push_any(IntPtr ctx, Quaternion o) + public static void duk_push_structvalue(IntPtr ctx, Quaternion o) { DuktapeDLL.duk_unity_push_quaternion(ctx, o.x, o.y, o.z, o.w); } - // public static void duk_push_any(IntPtr ctx, Matrix4x4 o) + // public static void duk_push_structvalue(IntPtr ctx, Matrix4x4 o) // { // DuktapeDLL.duk_push_array(ctx); // DuktapeDLL.duk_unity_put16f(ctx, -1, ...); // } + public static void duk_push_structvalue(IntPtr ctx, T o) + where T : struct + { + duk_push_classvalue(ctx, o); + } + + public static void duk_push_enumvalue(IntPtr ctx, T o) + where T : Enum + { + duk_push_primitive(ctx, Convert.ToInt32(o)); + } + // variant push - public static void duk_push_any(IntPtr ctx, UnityEngine.Object o) + public static void duk_push_classvalue(IntPtr ctx, UnityEngine.Object o) { if (o == null) { @@ -135,32 +152,41 @@ public static void duk_push_any(IntPtr ctx, UnityEngine.Object o) duk_push_object(ctx, (object)o); } - public static void duk_push_any(IntPtr ctx, TrackedReference o) + public static void duk_push_classvalue(IntPtr ctx, DuktapeObject o) { if (o == null) { DuktapeDLL.duk_push_null(ctx); return; } - duk_push_object(ctx, (object)o); - } - - public static void duk_push_any(IntPtr ctx, byte[] o) - { - var mem_ptr = DuktapeDLL.duk_push_fixed_buffer(ctx, (uint)o.Length); - if (mem_ptr != IntPtr.Zero) + if (!o.Push(ctx)) { - System.Runtime.InteropServices.Marshal.Copy(o, 0, mem_ptr, o.Length); + DuktapeDLL.duk_push_null(ctx); } } - public static void duk_push_any(IntPtr ctx, Array o) + public static void duk_push_classvalue(IntPtr ctx, Array o) { - duk_push_any(ctx, (object)o); + if (o == null) + { + DuktapeDLL.duk_push_null(ctx); + return; + } + if (o.GetType() == typeof(byte[])) + { + var typed = (byte[])o; + var mem_ptr = DuktapeDLL.duk_push_fixed_buffer(ctx, (uint)typed.Length); + if (mem_ptr != IntPtr.Zero) + { + System.Runtime.InteropServices.Marshal.Copy(typed, 0, mem_ptr, typed.Length); + } + return; + } + duk_push_object(ctx, (object)o); } // variant push - public static void duk_push_any(IntPtr ctx, object o) + public static void duk_push_classvalue(IntPtr ctx, object o) { if (o == null) { @@ -170,7 +196,7 @@ public static void duk_push_any(IntPtr ctx, object o) var type = o.GetType(); if (type.IsEnum) { - duk_push_any(ctx, Convert.ToInt32(o)); + duk_push_primitive(ctx, Convert.ToInt32(o)); return; } // if (type.IsArray) @@ -211,12 +237,12 @@ public static void duk_push_var(IntPtr ctx, object o) var type = o.GetType(); if (type.IsEnum) { - duk_push_any(ctx, Convert.ToInt32(o)); + duk_push_primitive(ctx, Convert.ToInt32(o)); return; } //TODO: 1. push as simple types //TODO: 2. fallthrough, push as object - duk_push_any(ctx, o); + duk_push_classvalue(ctx, o); } } } diff --git a/unity/Assets/Duktape/Source/DuktapeBridge.cs b/unity/Assets/Duktape/Source/DuktapeBridge.cs index 44f673b..cd3808b 100644 --- a/unity/Assets/Duktape/Source/DuktapeBridge.cs +++ b/unity/Assets/Duktape/Source/DuktapeBridge.cs @@ -13,7 +13,7 @@ public class DuktapeBridge : MonoBehaviour { private DuktapeObject _instance; - public void SetBridge(DuktapeObject obj) + public DuktapeObject SetBridge(DuktapeObject obj) { _instance = obj; _instance.InvokeMember("Awake"); @@ -21,6 +21,7 @@ public void SetBridge(DuktapeObject obj) { _instance.InvokeMember("OnEnable"); } + return obj; } void Update() diff --git a/unity/Assets/Duktape/Source/DuktapeJSBuiltins.cs b/unity/Assets/Duktape/Source/DuktapeJSBuiltins.cs index a74dc1e..51b5925 100644 --- a/unity/Assets/Duktape/Source/DuktapeJSBuiltins.cs +++ b/unity/Assets/Duktape/Source/DuktapeJSBuiltins.cs @@ -29,7 +29,7 @@ public static int Array_Create(IntPtr ctx) if (DuktapeDLL.duk_is_number(ctx, 1) && duk_get_primitive(ctx, 1, out size)) { var o = Array.CreateInstance(type, size); - duk_push_any(ctx, (object)o); + duk_push_classvalue(ctx, o); return 1; } else @@ -143,7 +143,7 @@ public static int CreateList(IntPtr ctx) if (ctor.GetParameters().Length == 0) { var instance = ctor.Invoke(Type.EmptyTypes); - duk_push_any(ctx, instance); + duk_push_classvalue(ctx, instance); return 1; } } @@ -159,7 +159,7 @@ public static int GetType(IntPtr ctx) //TODO: type 缓存 //TODO: 从 jsobject hidden property 中读 refid var type = DuktapeAux.GetType(name); - duk_push_any(ctx, type); + duk_push_classvalue(ctx, type); return 1; } diff --git a/unity/Assets/Duktape/Source/DuktapeValue.cs b/unity/Assets/Duktape/Source/DuktapeValue.cs index 71d885d..2eeef34 100644 --- a/unity/Assets/Duktape/Source/DuktapeValue.cs +++ b/unity/Assets/Duktape/Source/DuktapeValue.cs @@ -68,6 +68,9 @@ protected virtual void Dispose(bool bManaged) } } + /// + /// 将自身压到栈上, 失败时不会压栈!!! + /// public bool Push(IntPtr ctx) { if (ctx != IntPtr.Zero) @@ -83,7 +86,7 @@ public void SetProperty(IntPtr ctx, string name, Object value) if (ctx != IntPtr.Zero) { DuktapeDLL.duk_unity_getref(ctx, this._refid); - DuktapeBinding.duk_push_any(ctx, value); + DuktapeBinding.duk_push_classvalue(ctx, value); DuktapeDLL.duk_put_prop_string(ctx, -2, name); DuktapeDLL.duk_pop(ctx); } diff --git a/unity/Assets/DuktapeExtra/SourceMapHelper.cs b/unity/Assets/DuktapeExtra/SourceMapHelper.cs index de83c7d..7d307ab 100644 --- a/unity/Assets/DuktapeExtra/SourceMapHelper.cs +++ b/unity/Assets/DuktapeExtra/SourceMapHelper.cs @@ -62,7 +62,7 @@ private static SourceMap GetSourceMap(IntPtr ctx, string fileName) var parser = new SourceMapParser(); var reader = new StreamReader(stream); sourceMap = parser.ParseSourceMap(reader); - Debug.Log($"[SourceMapHelper] parse sourceMap: {sourceMap.File} ({resolvedPath})"); + // Debug.Log($"[SourceMapHelper] parse sourceMap: {sourceMap.File} ({resolvedPath})"); } } } @@ -95,7 +95,7 @@ private static string duk_source_position(IntPtr ctx, string funcName, string fi { funcName = "anonymous"; } - return $"typescript:{funcName}() (at {resolvedOriginal}:{entryPos.ZeroBasedLineNumber + 1})\n"; + return $"typescript:{funcName}() (at {resolvedOriginal}:{entryPos.ZeroBasedLineNumber + 1})"; } } } @@ -107,13 +107,13 @@ private static string duk_source_position(IntPtr ctx, string funcName, string fi { funcName = "[anonymous]"; } - return $"{funcName} ({fileName}:{lineNumber})\n"; + return $"{funcName} ({fileName}:{lineNumber})"; } if (string.IsNullOrEmpty(funcName)) { funcName = "[anonymous]"; } - return $"{funcName} ()\n"; + return $"{funcName} ()"; } // 剔除行注释 @@ -163,7 +163,7 @@ public static void Run() _sourceRoot = tsconfig.compilerOptions.sourceRoot; DuktapeAux.duk_source_position = duk_source_position; - Debug.Log($"[SourceMapHelper] enabled {_sourceRoot}"); + // Debug.Log($"[SourceMapHelper] enabled {_sourceRoot}"); } else { diff --git a/unity/Assets/Examples/Scripts/out/code.js b/unity/Assets/Examples/Scripts/out/code.js index 12d297d..24f67a4 100644 --- a/unity/Assets/Examples/Scripts/out/code.js +++ b/unity/Assets/Examples/Scripts/out/code.js @@ -46,7 +46,10 @@ var MyCircleBridge = /** @class */ (function () { }()); function circle() { var bridge = UnityEngine.Camera.main.gameObject.AddComponent(DuktapeJS.Bridge); - bridge.SetBridge(new MyCircleBridge()); + var target = new MyCircleBridge(); + target.gameObject = bridge.gameObject; + target.transform = bridge.transform; + bridge.SetBridge(target); } function fmathtest() { var f1 = FMath.from_int(2); @@ -274,6 +277,11 @@ function sample() { var str = SampleNamespace.SampleClass.InputBytes(buffer); console.log(str); })(); + // (function () { + // console.log("[error] tests"); + // let u = null; + // console.log(u.value); + // })(); } /* class ContentType { diff --git a/unity/Assets/Examples/Scripts/out/code.js.map b/unity/Assets/Examples/Scripts/out/code.js.map index 6d647a7..938963c 100644 --- a/unity/Assets/Examples/Scripts/out/code.js.map +++ b/unity/Assets/Examples/Scripts/out/code.js.map @@ -1 +1 @@ -{"version":3,"file":"code.js","sourceRoot":"Assets/Examples/Scripts/src/","sources":["circle.ts","fmath.ts","ut/component_system.ts","main.ts","sample.ts","duktape/http.ts","mm/foo.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"code.js","sourceRoot":"Assets/Examples/Scripts/src/","sources":["circle.ts","fmath.ts","ut/component_system.ts","main.ts","sample.ts","duktape/http.ts","mm/foo.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/unity/Assets/Examples/Scripts/src/circle.ts b/unity/Assets/Examples/Scripts/src/circle.ts index 090a02f..164b7c5 100644 --- a/unity/Assets/Examples/Scripts/src/circle.ts +++ b/unity/Assets/Examples/Scripts/src/circle.ts @@ -41,5 +41,8 @@ class MyCircleBridge { function circle() { let bridge = UnityEngine.Camera.main.gameObject.AddComponent(DuktapeJS.Bridge) - bridge.SetBridge(new MyCircleBridge()) + let target = new MyCircleBridge(); + target.gameObject = bridge.gameObject; + target.transform = bridge.transform; + bridge.SetBridge(target) } diff --git a/unity/Assets/Examples/Scripts/src/sample.ts b/unity/Assets/Examples/Scripts/src/sample.ts index d372946..4167d23 100644 --- a/unity/Assets/Examples/Scripts/src/sample.ts +++ b/unity/Assets/Examples/Scripts/src/sample.ts @@ -202,4 +202,10 @@ function sample() { let str = SampleNamespace.SampleClass.InputBytes(buffer); console.log(str); })(); + + // (function () { + // console.log("[error] tests"); + // let u = null; + // console.log(u.value); + // })(); } diff --git a/unity/Assets/Examples/Source/SampleClass.cs b/unity/Assets/Examples/Source/SampleClass.cs index 43997e4..be5076a 100644 --- a/unity/Assets/Examples/Source/SampleClass.cs +++ b/unity/Assets/Examples/Source/SampleClass.cs @@ -21,6 +21,20 @@ public void Foo(T t) } } +[Duktape.JSType] +public class SomeImplicit +{ + public static SomeImplicit Accept(SomeImplicit si) + { + return si; + } + + public static implicit operator int(SomeImplicit si) + { + return 123; + } +} + [Duktape.JSType] public class StringGB : GB { diff --git a/unity/Assets/Examples/Source/UnityExtensions.cs b/unity/Assets/Examples/Source/UnityExtensions.cs index d69fdc5..3a5b015 100644 --- a/unity/Assets/Examples/Source/UnityExtensions.cs +++ b/unity/Assets/Examples/Source/UnityExtensions.cs @@ -23,25 +23,25 @@ public static bool RaycastMousePosition(DuktapeObject outValue, float maxDistanc var ctx = outValue.ctx; if (outValue.Push(ctx)) { - DuktapeBinding.duk_push_any(ctx, hitInfo.collider); + DuktapeBinding.duk_push_classvalue(ctx, hitInfo.collider); DuktapeDLL.duk_put_prop_string(ctx, -2, "collider"); - DuktapeBinding.duk_push_any(ctx, hitInfo.point); + DuktapeBinding.duk_push_structvalue(ctx, hitInfo.point); DuktapeDLL.duk_put_prop_string(ctx, -2, "point"); - DuktapeBinding.duk_push_any(ctx, hitInfo.normal); + DuktapeBinding.duk_push_structvalue(ctx, hitInfo.normal); DuktapeDLL.duk_put_prop_string(ctx, -2, "normal"); - DuktapeBinding.duk_push_any(ctx, hitInfo.distance); + DuktapeBinding.duk_push_primitive(ctx, hitInfo.distance); DuktapeDLL.duk_put_prop_string(ctx, -2, "distance"); - DuktapeBinding.duk_push_any(ctx, hitInfo.transform); + DuktapeBinding.duk_push_classvalue(ctx, hitInfo.transform); DuktapeDLL.duk_put_prop_string(ctx, -2, "transform"); - DuktapeBinding.duk_push_any(ctx, hitInfo.textureCoord); + DuktapeBinding.duk_push_structvalue(ctx, hitInfo.textureCoord); DuktapeDLL.duk_put_prop_string(ctx, -2, "textureCoord"); - DuktapeBinding.duk_push_any(ctx, hitInfo.triangleIndex); + DuktapeBinding.duk_push_structvalue(ctx, hitInfo.triangleIndex); DuktapeDLL.duk_put_prop_string(ctx, -2, "triangleIndex"); DuktapeDLL.duk_pop(ctx);