diff --git a/CHANGELOG.md b/CHANGELOG.md index c647f3dc3..eda644193 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,13 +6,7 @@ Removed - 删除功能/接口 Fixed - 修复问题 Others - 其他 --> -## v0.1.27 【普通更新】 -### Feature -* 普通:新增 JS_Sound_GetPosition 方法用于获取音频播放位置 -* 普通:WebGL2变更为正式特性 -* 普通:支持小游戏试玩导出 - -## v0.1.26 【普通更新】 +## v0.1.26 【预发布】 ### Feature * 普通:增加禁止多点触控的配置 ### Fixed diff --git a/Editor/BuildProfile.meta b/Editor/BuildProfile.meta new file mode 100644 index 000000000..252f755cb --- /dev/null +++ b/Editor/BuildProfile.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: DytLvSj8UC9CKob0XUy9Y3usKDmX8US1YgxYmBxa1iAZ/I8JbM5wZwE= +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Editor/BuildProfile/lib.meta b/Editor/BuildProfile/lib.meta new file mode 100644 index 000000000..87b4cc3cf --- /dev/null +++ b/Editor/BuildProfile/lib.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: XSwesi78AS28ymfR2HEhHpEBAC2DHupI1hIKP7HApjHRaZgGw+DTwWI= +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Editor/BuildProfile/lib/libwx-metal-cpp.bc b/Editor/BuildProfile/lib/libwx-metal-cpp.bc new file mode 100644 index 000000000..e8ae12117 Binary files /dev/null and b/Editor/BuildProfile/lib/libwx-metal-cpp.bc differ diff --git a/Editor/BuildProfile/lib/libwx-metal-cpp.bc.meta b/Editor/BuildProfile/lib/libwx-metal-cpp.bc.meta new file mode 100644 index 000000000..28e81d7a7 --- /dev/null +++ b/Editor/BuildProfile/lib/libwx-metal-cpp.bc.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: c113acfee35db6b5c61fd4a76596cfd3 +DefaultImporter: +externalObjects: {} +userData: +assetBundleName: +assetBundleVariant: \ No newline at end of file diff --git a/Editor/BuildProfile/lib/mtl_library.jslib b/Editor/BuildProfile/lib/mtl_library.jslib new file mode 100644 index 000000000..b6f7cf5df --- /dev/null +++ b/Editor/BuildProfile/lib/mtl_library.jslib @@ -0,0 +1,43 @@ +mergeInto(LibraryManager.library, { + // 定义供 C/C++ 调用的 JS 函数 + js_batchRender_malloc: function(data, size, isSync) { + // 直接从 WASM 内存创建视图(零拷贝) + const binaryData = new Uint8Array(Module.HEAPU8.buffer, data, size); + // 转换为标准 ArrayBuffer(如果需要复制) + const targetBuffer = + binaryData.buffer.slice(binaryData.byteOffset, binaryData.byteOffset + binaryData.byteLength); + //console.log("processBinaryData invoke"); + const extBuffer = new ArrayBuffer(1); + const headerBuffer = new ArrayBuffer(8); + const headerBufferView = new DataView(headerBuffer); + headerBufferView.setUint32(0, 0xDEC0DE, true); + headerBufferView.setUint32(4, mtl.ctx.__uid(), true); + const merged = new Uint8Array(headerBuffer.byteLength + targetBuffer.byteLength); + merged.set(new Uint8Array(headerBuffer), 0); + merged.set(new Uint8Array(targetBuffer), headerBuffer.byteLength); + if(!isSync){ + mtl.batchRenderAsync(merged.buffer, extBuffer); + return null; + } + const result = mtl.batchRender(merged.buffer, extBuffer).buffer; + if(result.byteLength == 0){ + return null;; + } + // 申请内存空间,后续在cpp wasm部分使用,记得释放 + const ptr = Module._malloc(result.byteLength); + // 将数据拷贝到WASM内存 + Module.HEAPU8.set(new Uint8Array(result), ptr); + // 返回结构化的数据信息(指针和长度) + const ret = new DataView(new ArrayBuffer(8)); + ret.setUint32(0, ptr, true); // 指针地址(4字节) + ret.setUint32(4, result.byteLength, true); // 数据长度(4字节) + // 返回合并后的8字节缓冲区指针,记得也要在cpp部分释放 + const retPtr = Module._malloc(8); + Module.HEAPU8.set(new Uint8Array(ret.buffer), retPtr); + return retPtr; + + }, + js_swapWindow: function(){ + mtl.swapWindow(); + } + }); \ No newline at end of file diff --git a/Editor/BuildProfile/lib/mtl_library.jslib.meta b/Editor/BuildProfile/lib/mtl_library.jslib.meta new file mode 100644 index 000000000..3882fefc8 --- /dev/null +++ b/Editor/BuildProfile/lib/mtl_library.jslib.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: dda1926f3454e003333e8085a4f2c0fd +DefaultImporter: +externalObjects: {} +userData: +assetBundleName: +assetBundleVariant: \ No newline at end of file diff --git a/Editor/Playable/WXPlayableConvertCore.cs b/Editor/Playable/WXPlayableConvertCore.cs index 0adcf9a50..673f8716c 100644 --- a/Editor/Playable/WXPlayableConvertCore.cs +++ b/Editor/Playable/WXPlayableConvertCore.cs @@ -5,134 +5,134 @@ using UnityEngine; namespace WeChatWASM { - public class WXPlayableConvertCore - { - static WXPlayableConvertCore() { } - public static WXPlayableEditorScriptObject config => UnityUtil.GetPlayableEditorConf(); - - public static WXConvertCore.WXExportError DoExport(bool buildWebGL = true) + public class WXPlayableConvertCore { - WXConvertCore.isPlayableBuild = true; - // var preCheckResult = WXConvertCore.PreCheck(); - // if (preCheckResult != WXConvertCore.WXExportError.SUCCEED) - // { - // WXConvertCore.isPlayableBuild = false; - // return preCheckResult; - // } - // WXConvertCore.PreInit(); - var exportResult = WXConvertCore.DoExport(); + static WXPlayableConvertCore() { } + public static WXPlayableEditorScriptObject config => UnityUtil.GetPlayableEditorConf(); - WXConvertCore.isPlayableBuild = false; - return exportResult; - } - - public static WXEditorScriptObject GetFakeScriptObject() - { - return SetDefaultProperties(ConvertPlayableConfigToCommon(config)); - } - - public static WXEditorScriptObject ConvertPlayableConfigToCommon( - WXPlayableEditorScriptObject source, - WXEditorScriptObject target = null) - { - // 创建或使用现有的目标实例 - var newTarget = target ?? ScriptableObject.CreateInstance(); - - // 使用序列化方式深度拷贝公共字段 - var so = new SerializedObject(newTarget); - - // 遍历源对象的所有字段 - var sourceType = source.GetType(); - foreach (var sourceField in sourceType.GetFields( - System.Reflection.BindingFlags.Public | - System.Reflection.BindingFlags.Instance | - System.Reflection.BindingFlags.NonPublic)) - { - // 跳过readonly字段 - if (sourceField.IsInitOnly) continue; - - // 查找目标对象中的对应字段 - var targetField = typeof(WXEditorScriptObject).GetField( - sourceField.Name, - System.Reflection.BindingFlags.Public | - System.Reflection.BindingFlags.Instance | - System.Reflection.BindingFlags.NonPublic); - - // if (targetField != null && !targetField.FieldType.IsValueType && !targetField.FieldType.IsEnum) - // { - // // // 复制字段值 - // // var value = sourceField.GetValue(source); - // // targetField.SetValue(newTarget, value); - // // 递归复制子对象属性 - // var subObj = targetField.GetValue(newTarget) ?? Activator.CreateInstance(targetField.FieldType); - // CopySubObjectProperties(value, subObj); - // targetField.SetValue(newTarget, subObj); - // } - - // if (targetField != null && - // (targetField.FieldType.IsAssignableFrom(sourceField.FieldType) || - // (targetField.FieldType.IsValueType && sourceField.FieldType.IsValueType && - // targetField.FieldType == sourceField.FieldType))) - // { - // 复制字段值 - var value = sourceField.GetValue(source); - // 特殊处理嵌套对象类型的字段 - if (value != null && !targetField.FieldType.IsValueType && !targetField.FieldType.IsEnum) - { - // 递归复制子对象属性 - var subObj = targetField.GetValue(newTarget) ?? Activator.CreateInstance(targetField.FieldType); - CopySubObjectProperties(value, subObj); - targetField.SetValue(newTarget, subObj); - } - else - { - targetField.SetValue(newTarget, value); - } - // } - } - - // 应用修改到序列化对象 - so.ApplyModifiedProperties(); - return newTarget; - } - - private static void CopySubObjectProperties(object source, object target) - { - var sourceType = source.GetType(); - var targetType = target.GetType(); - - foreach (var sourceField in sourceType.GetFields( - System.Reflection.BindingFlags.Public | - System.Reflection.BindingFlags.Instance | - System.Reflection.BindingFlags.NonPublic)) + public static WXConvertCore.WXExportError DoExport(bool buildWebGL = true) { - if (sourceField.IsInitOnly) continue; + WXConvertCore.isPlayableBuild = true; + // var preCheckResult = WXConvertCore.PreCheck(); + // if (preCheckResult != WXConvertCore.WXExportError.SUCCEED) + // { + // WXConvertCore.isPlayableBuild = false; + // return preCheckResult; + // } + // WXConvertCore.PreInit(); + var exportResult = WXConvertCore.DoExport(); - var targetField = targetType.GetField( - sourceField.Name, + WXConvertCore.isPlayableBuild = false; + return exportResult; + } + + public static WXEditorScriptObject GetFakeScriptObject() + { + return SetDefaultProperties(ConvertPlayableConfigToCommon(config)); + } + + public static WXEditorScriptObject ConvertPlayableConfigToCommon( + WXPlayableEditorScriptObject source, + WXEditorScriptObject target = null) + { + // 创建或使用现有的目标实例 + var newTarget = target ?? ScriptableObject.CreateInstance(); + + // 使用序列化方式深度拷贝公共字段 + var so = new SerializedObject(newTarget); + + // 遍历源对象的所有字段 + var sourceType = source.GetType(); + foreach (var sourceField in sourceType.GetFields( System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance | - System.Reflection.BindingFlags.NonPublic); - - if (targetField != null && - (targetField.FieldType.IsAssignableFrom(sourceField.FieldType) || - (targetField.FieldType.IsValueType && sourceField.FieldType.IsValueType && - targetField.FieldType == sourceField.FieldType))) + System.Reflection.BindingFlags.NonPublic)) { + // 跳过readonly字段 + if (sourceField.IsInitOnly) continue; + + // 查找目标对象中的对应字段 + var targetField = typeof(WXEditorScriptObject).GetField( + sourceField.Name, + System.Reflection.BindingFlags.Public | + System.Reflection.BindingFlags.Instance | + System.Reflection.BindingFlags.NonPublic); + + // if (targetField != null && !targetField.FieldType.IsValueType && !targetField.FieldType.IsEnum) + // { + // // // 复制字段值 + // // var value = sourceField.GetValue(source); + // // targetField.SetValue(newTarget, value); + // // 递归复制子对象属性 + // var subObj = targetField.GetValue(newTarget) ?? Activator.CreateInstance(targetField.FieldType); + // CopySubObjectProperties(value, subObj); + // targetField.SetValue(newTarget, subObj); + // } + + // if (targetField != null && + // (targetField.FieldType.IsAssignableFrom(sourceField.FieldType) || + // (targetField.FieldType.IsValueType && sourceField.FieldType.IsValueType && + // targetField.FieldType == sourceField.FieldType))) + // { + // 复制字段值 var value = sourceField.GetValue(source); - targetField.SetValue(target, value); + // 特殊处理嵌套对象类型的字段 + if (value != null && !targetField.FieldType.IsValueType && !targetField.FieldType.IsEnum) + { + // 递归复制子对象属性 + var subObj = targetField.GetValue(newTarget) ?? Activator.CreateInstance(targetField.FieldType); + CopySubObjectProperties(value, subObj); + targetField.SetValue(newTarget, subObj); + } + else + { + targetField.SetValue(newTarget, value); + } + // } + } + + // 应用修改到序列化对象 + so.ApplyModifiedProperties(); + return newTarget; + } + + private static void CopySubObjectProperties(object source, object target) + { + var sourceType = source.GetType(); + var targetType = target.GetType(); + + foreach (var sourceField in sourceType.GetFields( + System.Reflection.BindingFlags.Public | + System.Reflection.BindingFlags.Instance | + System.Reflection.BindingFlags.NonPublic)) + { + if (sourceField.IsInitOnly) continue; + + var targetField = targetType.GetField( + sourceField.Name, + System.Reflection.BindingFlags.Public | + System.Reflection.BindingFlags.Instance | + System.Reflection.BindingFlags.NonPublic); + + if (targetField != null && + (targetField.FieldType.IsAssignableFrom(sourceField.FieldType) || + (targetField.FieldType.IsValueType && sourceField.FieldType.IsValueType && + targetField.FieldType == sourceField.FieldType))) + { + var value = sourceField.GetValue(source); + targetField.SetValue(target, value); + } } } - } - public static WXEditorScriptObject SetDefaultProperties(WXEditorScriptObject target) - { - target.ProjectConf.CDN = ""; - target.ProjectConf.assetLoadType = 1; - target.ProjectConf.compressDataPackage = true; + public static WXEditorScriptObject SetDefaultProperties(WXEditorScriptObject target) + { + target.ProjectConf.CDN = ""; + target.ProjectConf.assetLoadType = 1; + target.ProjectConf.compressDataPackage = true; - target.CompileOptions.showMonitorSuggestModal = false; - return target; + target.CompileOptions.showMonitorSuggestModal = false; + return target; + } } - } } \ No newline at end of file diff --git a/Editor/Playable/WXPlayableEditorSettingHelper.cs b/Editor/Playable/WXPlayableEditorSettingHelper.cs index 9c8db576e..390e64623 100644 --- a/Editor/Playable/WXPlayableEditorSettingHelper.cs +++ b/Editor/Playable/WXPlayableEditorSettingHelper.cs @@ -6,358 +6,354 @@ using UnityEngine; namespace WeChatWASM { - [InitializeOnLoad] - public class WXPlayableSettingsHelperInterface - { - public static WXPlayableSettingsHelper helper = new WXPlayableSettingsHelper(); - } - - public class WXPlayableSettingsHelper - { - public static string projectRootPath; - private static WXPlayableEditorScriptObject config; - private static bool m_EnablePerfTool = false; - - private static string _dstCache; - public static bool UseIL2CPP + [InitializeOnLoad] + public class WXPlayableSettingsHelperInterface { - get - { + public static WXPlayableSettingsHelper helper = new WXPlayableSettingsHelper(); + } + + public class WXPlayableSettingsHelper + { + public static string projectRootPath; + private static WXPlayableEditorScriptObject config; + private static bool m_EnablePerfTool = false; + public static bool UseIL2CPP + { + get + { #if TUANJIE_2022_3_OR_NEWER return PlayerSettings.GetScriptingBackend(BuildTargetGroup.WeixinMiniGame) == ScriptingImplementation.IL2CPP; #else - return true; + return true; #endif - } - } - - public WXPlayableSettingsHelper() - { - projectRootPath = System.IO.Path.GetFullPath(Application.dataPath + "/../"); - _dstCache = ""; - } - - public void OnFocus() - { - loadData(); - } - - public void OnLostFocus() - { - saveData(); - } - - public void OnDisable() - { - EditorUtility.SetDirty(config); - } - - private Vector2 scrollRoot; - private bool foldBaseInfo = true; - private bool foldDebugOptions = true; - public void OnSettingsGUI(EditorWindow window) - { - scrollRoot = EditorGUILayout.BeginScrollView(scrollRoot); - GUIStyle linkStyle = new GUIStyle(GUI.skin.label); - linkStyle.normal.textColor = Color.yellow; - linkStyle.hover.textColor = Color.yellow; - linkStyle.stretchWidth = false; - linkStyle.alignment = TextAnchor.UpperLeft; - linkStyle.wordWrap = true; - - foldBaseInfo = EditorGUILayout.Foldout(foldBaseInfo, "基本信息"); - if (foldBaseInfo) - { - EditorGUILayout.BeginVertical("frameBox", GUILayout.ExpandWidth(true)); - this.formInput("appid", "小游戏试玩AppID"); - this.formInput("projectName", "小游戏试玩项目名"); - this.formIntPopup("orientation", "游戏方向", new[] { "Portrait", "Landscape" }, new[] { 0, 1, 2, 3 }); - this.formInput("memorySize", "UnityHeap预留内存(?)", "单位MB,预分配内存值,超休闲游戏256/中轻度496/重度游戏768,需预估游戏最大UnityHeap值以防止内存自动扩容带来的峰值尖刺。预估方法请查看GIT文档《优化Unity WebGL的内存》"); - - GUILayout.BeginHorizontal(); - string targetDst = "dst"; - if (!formInputData.ContainsKey(targetDst)) - { - formInputData[targetDst] = ""; + } } - EditorGUILayout.LabelField(string.Empty, GUILayout.Width(10)); - GUILayout.Label(new GUIContent("导出路径(?)", "支持输入相对于项目根目录的相对路径,如:wxbuild"), GUILayout.Width(140)); - formInputData[targetDst] = GUILayout.TextField(formInputData[targetDst], GUILayout.MaxWidth(EditorGUIUtility.currentViewWidth - 270)); - if (GUILayout.Button(new GUIContent("打开"), GUILayout.Width(40))) + + public WXPlayableSettingsHelper() { - if (!formInputData[targetDst].Trim().Equals(string.Empty)) - { - EditorUtility.RevealInFinder(GetAbsolutePath(formInputData[targetDst])); - } - GUIUtility.ExitGUI(); + projectRootPath = System.IO.Path.GetFullPath(Application.dataPath + "/../"); } - if (GUILayout.Button(new GUIContent("选择"), GUILayout.Width(40))) + + public void OnFocus() { - var dstPath = EditorUtility.SaveFolderPanel("选择你的游戏导出目录", string.Empty, string.Empty); - if (dstPath != string.Empty) - { - formInputData[targetDst] = dstPath; - this.saveData(); - } - GUIUtility.ExitGUI(); + loadData(); } - GUILayout.EndHorizontal(); - - EditorGUILayout.EndVertical(); - } - - foldDebugOptions = EditorGUILayout.Foldout(foldDebugOptions, "调试编译选项"); - if (foldDebugOptions) - { - EditorGUILayout.BeginVertical("frameBox", GUILayout.ExpandWidth(true)); - this.formCheckbox("developBuild", "Development Build", "", false, null, OnDevelopmentBuildToggleChanged); - this.formCheckbox("il2CppOptimizeSize", "Il2Cpp Optimize Size(?)", "对应于Il2CppCodeGeneration选项,勾选时使用OptimizeSize(默认推荐),生成代码小15%左右,取消勾选则使用OptimizeSpeed。游戏中大量泛型集合的高频访问建议OptimizeSpeed,在使用HybridCLR等第三方组件时只能用OptimizeSpeed。(Dotnet Runtime模式下该选项无效)", !UseIL2CPP); - this.formCheckbox("profilingFuncs", "Profiling Funcs"); - this.formCheckbox("webgl2", "WebGL2.0(beta)"); - EditorGUILayout.EndVertical(); - } - - EditorGUILayout.EndScrollView(); - } - public void OnBuildButtonGUI(EditorWindow window) - { - GUIStyle linkStyle = new GUIStyle(GUI.skin.label); - linkStyle.normal.textColor = Color.yellow; - linkStyle.hover.textColor = Color.yellow; - linkStyle.stretchWidth = false; - linkStyle.alignment = TextAnchor.UpperLeft; - linkStyle.wordWrap = true; - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.LabelField(string.Empty, GUILayout.MinWidth(10)); - if (GUILayout.Button(new GUIContent("生成并转换"), GUILayout.Width(100), GUILayout.Height(25))) - { - this.saveData(); - if (WXPlayableConvertCore.DoExport() == WXConvertCore.WXExportError.SUCCEED) + public void OnLostFocus() { - window.ShowNotification(new GUIContent("转换完成")); + saveData(); } - GUIUtility.ExitGUI(); - } - EditorGUILayout.EndHorizontal(); - } - private void OnDevelopmentBuildToggleChanged(bool InNewValue) - { - // 针对non-dev build,取消性能分析工具的集成 - if (!InNewValue) - { - this.setData("enablePerfAnalysis", false); - } - } - private string SDKFilePath; - - private void loadData() - { - SDKFilePath = Path.Combine(UnityUtil.GetWxSDKRootPath(), "Runtime", "wechat-playable-default", "unity-sdk", "index.js"); - config = UnityUtil.GetPlayableEditorConf(); - _dstCache = config.ProjectConf.DST; - - this.setData("projectName", config.ProjectConf.projectName); - this.setData("appid", config.ProjectConf.Appid); - this.setData("orientation", (int)config.ProjectConf.Orientation); - this.setData("dst", _dstCache); - - this.setData("developBuild", config.CompileOptions.DevelopBuild); - this.setData("il2CppOptimizeSize", config.CompileOptions.Il2CppOptimizeSize); - this.setData("profilingFuncs", config.CompileOptions.profilingFuncs); - this.setData("webgl2", config.CompileOptions.Webgl2); - this.setData("customNodePath", config.CompileOptions.CustomNodePath); - - this.setData("memorySize", config.ProjectConf.MemorySize.ToString()); - } - - private void saveData() - { - config.ProjectConf.projectName = this.getDataInput("projectName"); - config.ProjectConf.Appid = this.getDataInput("appid"); - config.ProjectConf.Orientation = (WXScreenOritation)this.getDataPop("orientation"); - _dstCache = this.getDataInput("dst"); - config.ProjectConf.DST = GetAbsolutePath(_dstCache); - - config.CompileOptions.DevelopBuild = this.getDataCheckbox("developBuild"); - config.CompileOptions.Il2CppOptimizeSize = this.getDataCheckbox("il2CppOptimizeSize"); - config.CompileOptions.profilingFuncs = this.getDataCheckbox("profilingFuncs"); - config.CompileOptions.CustomNodePath = this.getDataInput("customNodePath"); - config.CompileOptions.Webgl2 = this.getDataCheckbox("webgl2"); - config.ProjectConf.MemorySize = int.Parse(this.getDataInput("memorySize")); - } - - private Dictionary formInputData = new Dictionary(); - private Dictionary formIntPopupData = new Dictionary(); - private Dictionary formCheckboxData = new Dictionary(); - - private string getDataInput(string target) - { - if (this.formInputData.ContainsKey(target)) - return this.formInputData[target]; - return ""; - } - - private int getDataPop(string target) - { - if (this.formIntPopupData.ContainsKey(target)) - return this.formIntPopupData[target]; - return 0; - } - - private bool getDataCheckbox(string target) - { - if (this.formCheckboxData.ContainsKey(target)) - return this.formCheckboxData[target]; - return false; - } - - private void formCheckbox(string target, string label, string help = null, bool disable = false, Action setting = null, Action onValueChanged = null) - { - if (!formCheckboxData.ContainsKey(target)) - { - formCheckboxData[target] = false; - } - GUILayout.BeginHorizontal(); - EditorGUILayout.LabelField(string.Empty, GUILayout.Width(10)); - if (help == null) - { - GUILayout.Label(label, GUILayout.Width(140)); - } - else - { - GUILayout.Label(new GUIContent(label, help), GUILayout.Width(140)); - } - EditorGUI.BeginDisabledGroup(disable); - - // Toggle the checkbox value based on the disable condition - bool newValue = EditorGUILayout.Toggle(disable ? false : formCheckboxData[target]); - // Update the checkbox data if the value has changed and invoke the onValueChanged action - if (newValue != formCheckboxData[target]) - { - formCheckboxData[target] = newValue; - onValueChanged?.Invoke(newValue); - } - - if (setting != null) - { - EditorGUILayout.LabelField("", GUILayout.Width(10)); - // 配置按钮 - if (GUILayout.Button(new GUIContent("设置"), GUILayout.Width(40), GUILayout.Height(18))) + public void OnDisable() { - setting?.Invoke(true); + EditorUtility.SetDirty(config); } - EditorGUILayout.LabelField("", GUILayout.MinWidth(10)); - } - EditorGUI.EndDisabledGroup(); + private Vector2 scrollRoot; + private bool foldBaseInfo = true; + private bool foldDebugOptions = true; + public void OnSettingsGUI(EditorWindow window) + { + scrollRoot = EditorGUILayout.BeginScrollView(scrollRoot); + GUIStyle linkStyle = new GUIStyle(GUI.skin.label); + linkStyle.normal.textColor = Color.yellow; + linkStyle.hover.textColor = Color.yellow; + linkStyle.stretchWidth = false; + linkStyle.alignment = TextAnchor.UpperLeft; + linkStyle.wordWrap = true; - if (setting == null) - EditorGUILayout.LabelField(string.Empty); - GUILayout.EndHorizontal(); + foldBaseInfo = EditorGUILayout.Foldout(foldBaseInfo, "基本信息"); + if (foldBaseInfo) + { + EditorGUILayout.BeginVertical("frameBox", GUILayout.ExpandWidth(true)); + this.formInput("appid", "小游戏试玩AppID"); + this.formInput("projectName", "小游戏试玩项目名"); + this.formIntPopup("orientation", "游戏方向", new[] { "Portrait", "Landscape" }, new[] { 0, 1, 2, 3 }); + this.formInput("memorySize", "UnityHeap预留内存(?)", "单位MB,预分配内存值,超休闲游戏256/中轻度496/重度游戏768,需预估游戏最大UnityHeap值以防止内存自动扩容带来的峰值尖刺。预估方法请查看GIT文档《优化Unity WebGL的内存》"); + + GUILayout.BeginHorizontal(); + string targetDst = "dst"; + if (!formInputData.ContainsKey(targetDst)) + { + formInputData[targetDst] = ""; + } + EditorGUILayout.LabelField(string.Empty, GUILayout.Width(10)); + GUILayout.Label(new GUIContent("导出路径(?)", "支持输入相对于项目根目录的相对路径,如:wxbuild"), GUILayout.Width(140)); + formInputData[targetDst] = GUILayout.TextField(formInputData[targetDst], GUILayout.MaxWidth(EditorGUIUtility.currentViewWidth - 270)); + if (GUILayout.Button(new GUIContent("打开"), GUILayout.Width(40))) + { + if (!formInputData[targetDst].Trim().Equals(string.Empty)) + { + EditorUtility.RevealInFinder(GetAbsolutePath(formInputData[targetDst])); + } + GUIUtility.ExitGUI(); + } + if (GUILayout.Button(new GUIContent("选择"), GUILayout.Width(40))) + { + var dstPath = EditorUtility.SaveFolderPanel("选择你的游戏导出目录", string.Empty, string.Empty); + if (dstPath != string.Empty) + { + formInputData[targetDst] = dstPath; + this.saveData(); + } + GUIUtility.ExitGUI(); + } + GUILayout.EndHorizontal(); + + + EditorGUILayout.EndVertical(); + } + + foldDebugOptions = EditorGUILayout.Foldout(foldDebugOptions, "调试编译选项"); + if (foldDebugOptions) + { + EditorGUILayout.BeginVertical("frameBox", GUILayout.ExpandWidth(true)); + this.formCheckbox("developBuild", "Development Build", "", false, null, OnDevelopmentBuildToggleChanged); + this.formCheckbox("il2CppOptimizeSize", "Il2Cpp Optimize Size(?)", "对应于Il2CppCodeGeneration选项,勾选时使用OptimizeSize(默认推荐),生成代码小15%左右,取消勾选则使用OptimizeSpeed。游戏中大量泛型集合的高频访问建议OptimizeSpeed,在使用HybridCLR等第三方组件时只能用OptimizeSpeed。(Dotnet Runtime模式下该选项无效)", !UseIL2CPP); + this.formCheckbox("profilingFuncs", "Profiling Funcs"); + this.formCheckbox("webgl2", "WebGL2.0(beta)"); + EditorGUILayout.EndVertical(); + } + + EditorGUILayout.EndScrollView(); + } + public void OnBuildButtonGUI(EditorWindow window) + { + GUIStyle linkStyle = new GUIStyle(GUI.skin.label); + linkStyle.normal.textColor = Color.yellow; + linkStyle.hover.textColor = Color.yellow; + linkStyle.stretchWidth = false; + linkStyle.alignment = TextAnchor.UpperLeft; + linkStyle.wordWrap = true; + EditorGUILayout.BeginHorizontal(); + EditorGUILayout.LabelField(string.Empty, GUILayout.MinWidth(10)); + if (GUILayout.Button(new GUIContent("生成并转换"), GUILayout.Width(100), GUILayout.Height(25))) + { + this.saveData(); + if (WXPlayableConvertCore.DoExport() == WXConvertCore.WXExportError.SUCCEED) + { + window.ShowNotification(new GUIContent("转换完成")); + } + GUIUtility.ExitGUI(); + } + EditorGUILayout.EndHorizontal(); + } + private void OnDevelopmentBuildToggleChanged(bool InNewValue) + { + // 针对non-dev build,取消性能分析工具的集成 + if (!InNewValue) + { + this.setData("enablePerfAnalysis", false); + } + } + + private string SDKFilePath; + + private void loadData() + { + SDKFilePath = Path.Combine(UnityUtil.GetWxSDKRootPath(), "Runtime", "wechat-playable-default", "unity-sdk", "index.js"); + config = UnityUtil.GetPlayableEditorConf(); + + this.setData("projectName", config.ProjectConf.projectName); + this.setData("appid", config.ProjectConf.Appid); + this.setData("orientation", (int)config.ProjectConf.Orientation); + this.setData("dst", config.ProjectConf.relativeDST); + + this.setData("developBuild", config.CompileOptions.DevelopBuild); + this.setData("il2CppOptimizeSize", config.CompileOptions.Il2CppOptimizeSize); + this.setData("profilingFuncs", config.CompileOptions.profilingFuncs); + this.setData("webgl2", config.CompileOptions.Webgl2); + this.setData("customNodePath", config.CompileOptions.CustomNodePath); + + this.setData("memorySize", config.ProjectConf.MemorySize.ToString()); + } + + private void saveData() + { + config.ProjectConf.projectName = this.getDataInput("projectName"); + config.ProjectConf.Appid = this.getDataInput("appid"); + config.ProjectConf.Orientation = (WXScreenOritation)this.getDataPop("orientation"); + config.ProjectConf.relativeDST = this.getDataInput("dst"); + config.ProjectConf.DST = GetAbsolutePath(config.ProjectConf.relativeDST); + + config.CompileOptions.DevelopBuild = this.getDataCheckbox("developBuild"); + config.CompileOptions.Il2CppOptimizeSize = this.getDataCheckbox("il2CppOptimizeSize"); + config.CompileOptions.profilingFuncs = this.getDataCheckbox("profilingFuncs"); + config.CompileOptions.CustomNodePath = this.getDataInput("customNodePath"); + config.CompileOptions.Webgl2 = this.getDataCheckbox("webgl2"); + config.ProjectConf.MemorySize = int.Parse(this.getDataInput("memorySize")); + } + + private Dictionary formInputData = new Dictionary(); + private Dictionary formIntPopupData = new Dictionary(); + private Dictionary formCheckboxData = new Dictionary(); + + private string getDataInput(string target) + { + if (this.formInputData.ContainsKey(target)) + return this.formInputData[target]; + return ""; + } + + private int getDataPop(string target) + { + if (this.formIntPopupData.ContainsKey(target)) + return this.formIntPopupData[target]; + return 0; + } + + private bool getDataCheckbox(string target) + { + if (this.formCheckboxData.ContainsKey(target)) + return this.formCheckboxData[target]; + return false; + } + + private void formCheckbox(string target, string label, string help = null, bool disable = false, Action setting = null, Action onValueChanged = null) + { + if (!formCheckboxData.ContainsKey(target)) + { + formCheckboxData[target] = false; + } + GUILayout.BeginHorizontal(); + EditorGUILayout.LabelField(string.Empty, GUILayout.Width(10)); + if (help == null) + { + GUILayout.Label(label, GUILayout.Width(140)); + } + else + { + GUILayout.Label(new GUIContent(label, help), GUILayout.Width(140)); + } + EditorGUI.BeginDisabledGroup(disable); + + // Toggle the checkbox value based on the disable condition + bool newValue = EditorGUILayout.Toggle(disable ? false : formCheckboxData[target]); + // Update the checkbox data if the value has changed and invoke the onValueChanged action + if (newValue != formCheckboxData[target]) + { + formCheckboxData[target] = newValue; + onValueChanged?.Invoke(newValue); + } + + if (setting != null) + { + EditorGUILayout.LabelField("", GUILayout.Width(10)); + // 配置按钮 + if (GUILayout.Button(new GUIContent("设置"), GUILayout.Width(40), GUILayout.Height(18))) + { + setting?.Invoke(true); + } + EditorGUILayout.LabelField("", GUILayout.MinWidth(10)); + } + + EditorGUI.EndDisabledGroup(); + + if (setting == null) + EditorGUILayout.LabelField(string.Empty); + GUILayout.EndHorizontal(); + } + + private void setData(string target, string value) + { + if (formInputData.ContainsKey(target)) + { + formInputData[target] = value; + } + else + { + formInputData.Add(target, value); + } + } + + private void setData(string target, bool value) + { + if (formCheckboxData.ContainsKey(target)) + { + formCheckboxData[target] = value; + } + else + { + formCheckboxData.Add(target, value); + } + } + + private void setData(string target, int value) + { + if (formIntPopupData.ContainsKey(target)) + { + formIntPopupData[target] = value; + } + else + { + formIntPopupData.Add(target, value); + } + } + + private void formInput(string target, string label, string help = null) + { + if (!formInputData.ContainsKey(target)) + { + formInputData[target] = ""; + } + GUILayout.BeginHorizontal(); + EditorGUILayout.LabelField(string.Empty, GUILayout.Width(10)); + if (help == null) + { + GUILayout.Label(label, GUILayout.Width(140)); + } + else + { + GUILayout.Label(new GUIContent(label, help), GUILayout.Width(140)); + } + formInputData[target] = GUILayout.TextField(formInputData[target], GUILayout.MaxWidth(EditorGUIUtility.currentViewWidth - 195)); + GUILayout.EndHorizontal(); + } + + private void formIntPopup(string target, string label, string[] options, int[] values) + { + if (!formIntPopupData.ContainsKey(target)) + { + formIntPopupData[target] = 0; + } + GUILayout.BeginHorizontal(); + EditorGUILayout.LabelField(string.Empty, GUILayout.Width(10)); + GUILayout.Label(label, GUILayout.Width(140)); + formIntPopupData[target] = EditorGUILayout.IntPopup(formIntPopupData[target], options, values, GUILayout.MaxWidth(EditorGUIUtility.currentViewWidth - 195)); + GUILayout.EndHorizontal(); + } + + public static bool IsAbsolutePath(string path) + { + // 检查是否为空或空白 + if (string.IsNullOrWhiteSpace(path)) + { + return false; + } + + // 在 Windows 上,检查驱动器字母或网络路径 + if (Application.platform == RuntimePlatform.WindowsEditor && Path.IsPathRooted(path)) + { + return true; + } + + // 在 Unix/Linux 和 macOS 上,检查是否以 '/' 开头 + if (Application.platform == RuntimePlatform.OSXEditor && path.StartsWith("/")) + { + return true; + } + + return false; // 否则为相对路径 + } + + public static string GetAbsolutePath(string path) + { + if (IsAbsolutePath(path)) + { + return path; + } + + return Path.Combine(projectRootPath, path); + } } - - private void setData(string target, string value) - { - if (formInputData.ContainsKey(target)) - { - formInputData[target] = value; - } - else - { - formInputData.Add(target, value); - } - } - - private void setData(string target, bool value) - { - if (formCheckboxData.ContainsKey(target)) - { - formCheckboxData[target] = value; - } - else - { - formCheckboxData.Add(target, value); - } - } - - private void setData(string target, int value) - { - if (formIntPopupData.ContainsKey(target)) - { - formIntPopupData[target] = value; - } - else - { - formIntPopupData.Add(target, value); - } - } - - private void formInput(string target, string label, string help = null) - { - if (!formInputData.ContainsKey(target)) - { - formInputData[target] = ""; - } - GUILayout.BeginHorizontal(); - EditorGUILayout.LabelField(string.Empty, GUILayout.Width(10)); - if (help == null) - { - GUILayout.Label(label, GUILayout.Width(140)); - } - else - { - GUILayout.Label(new GUIContent(label, help), GUILayout.Width(140)); - } - formInputData[target] = GUILayout.TextField(formInputData[target], GUILayout.MaxWidth(EditorGUIUtility.currentViewWidth - 195)); - GUILayout.EndHorizontal(); - } - - private void formIntPopup(string target, string label, string[] options, int[] values) - { - if (!formIntPopupData.ContainsKey(target)) - { - formIntPopupData[target] = 0; - } - GUILayout.BeginHorizontal(); - EditorGUILayout.LabelField(string.Empty, GUILayout.Width(10)); - GUILayout.Label(label, GUILayout.Width(140)); - formIntPopupData[target] = EditorGUILayout.IntPopup(formIntPopupData[target], options, values, GUILayout.MaxWidth(EditorGUIUtility.currentViewWidth - 195)); - GUILayout.EndHorizontal(); - } - - public static bool IsAbsolutePath(string path) - { - // 检查是否为空或空白 - if (string.IsNullOrWhiteSpace(path)) - { - return false; - } - - // 在 Windows 上,检查驱动器字母或网络路径 - if (Application.platform == RuntimePlatform.WindowsEditor && Path.IsPathRooted(path)) - { - return true; - } - - // 在 Unix/Linux 和 macOS 上,检查是否以 '/' 开头 - if (Application.platform == RuntimePlatform.OSXEditor && path.StartsWith("/")) - { - return true; - } - - return false; // 否则为相对路径 - } - - public static string GetAbsolutePath(string path) - { - if (IsAbsolutePath(path)) - { - return path; - } - - return Path.Combine(projectRootPath, path); - } - } } \ No newline at end of file diff --git a/Editor/WXConvertCore.cs b/Editor/WXConvertCore.cs index 23ba66369..8f6a5a82c 100644 --- a/Editor/WXConvertCore.cs +++ b/Editor/WXConvertCore.cs @@ -99,6 +99,14 @@ namespace WeChatWASM #endif } } + // 是否使用 iOS Metal 渲染 + public static bool UseiOSMetal + { + get + { + return config.CompileOptions.enableiOSMetal; + } + } // public static void SetPlayableEnabled(bool enabled) // { // isPlayableBuild = enabled; @@ -112,9 +120,12 @@ namespace WeChatWASM CheckBuildTarget(); Init(); // 可能有顺序要求?如果没要求,可挪到此函数外 - if (!isPlayableBuild) { + if (!isPlayableBuild) + { ProcessWxPerfBinaries(); } + // iOS metal 的相关特性 + ProcessWxiOSMetalBinaries(); MakeEnvForLuaAdaptor(); // JSLib SettingWXTextureMinJSLib(); @@ -140,7 +151,7 @@ namespace WeChatWASM return WXExportError.BUILD_WEBGL_FAILED; } dynamic config = isPlayableBuild ? UnityUtil.GetPlayableEditorConf() : UnityUtil.GetEditorConf(); - if (config.ProjectConf.DST == string.Empty) + if (config.ProjectConf.relativeDST == string.Empty) { Debug.LogError("请先配置游戏导出路径"); return WXExportError.BUILD_WEBGL_FAILED; @@ -400,6 +411,41 @@ namespace WeChatWASM return true; } + private static void ProcessWxiOSMetalBinaries() + { + string[] glLibs; + string DS = WXAssetsTextTools.DS; + if (UnityUtil.GetSDKMode() == UnityUtil.SDKMode.Package) + { + glLibs = new string[] + { + $"Packages{DS}com.qq.weixin.minigame{DS}Editor{DS}BuildProfile{DS}lib{DS}libwx-metal-cpp.bc", + $"Packages{DS}com.qq.weixin.minigame{DS}Editor{DS}BuildProfile{DS}lib{DS}mtl_library.jslib", + }; + } + else + { + string glLibRootDir = $"Assets{DS}WX-WASM-SDK-V2{DS}Editor{DS}BuildProfile{DS}lib{DS}"; + glLibs = new string[] + { + $"{glLibRootDir}libwx-metal-cpp.bc", + $"{glLibRootDir}mtl_library.jslib", + }; + } + for (int i = 0; i < glLibs.Length; i++) + { + var importer = AssetImporter.GetAtPath(glLibs[i]) as PluginImporter; +#if PLATFORM_WEIXINMINIGAME + importer.SetCompatibleWithPlatform(BuildTarget.WeixinMiniGame, config.CompileOptions.enableiOSMetal); +#else + importer.SetCompatibleWithPlatform(BuildTarget.WebGL, config.CompileOptions.enableiOSMetal); +#endif + // importer.SaveAndReimport(); + SetPluginCompatibilityByModifyingMetadataFile(glLibs[i], config.CompileOptions.enableiOSMetal); + } + AssetDatabase.Refresh(); + } + private static string GetLuaAdaptorPath(string filename) { string DS = WXAssetsTextTools.DS; @@ -523,13 +569,28 @@ namespace WeChatWASM GraphicsDeviceType[] targets = new GraphicsDeviceType[] { }; #if PLATFORM_WEIXINMINIGAME PlayerSettings.SetUseDefaultGraphicsAPIs(BuildTarget.WeixinMiniGame, false); - if (config.CompileOptions.Webgl2) + // 启用 iOS Metal 渲染 + if (UseiOSMetal) { - PlayerSettings.SetGraphicsAPIs(BuildTarget.WeixinMiniGame, new GraphicsDeviceType[] { GraphicsDeviceType.OpenGLES3 }); + if (config.CompileOptions.Webgl2) + { + PlayerSettings.SetGraphicsAPIs(BuildTarget.WeixinMiniGame, new GraphicsDeviceType[] { GraphicsDeviceType.Metal, GraphicsDeviceType.OpenGLES3 }); + } + else + { + PlayerSettings.SetGraphicsAPIs(BuildTarget.WeixinMiniGame, new GraphicsDeviceType[] { GraphicsDeviceType.Metal, GraphicsDeviceType.OpenGLES2 }); + } } - else + else { - PlayerSettings.SetGraphicsAPIs(BuildTarget.WeixinMiniGame, new GraphicsDeviceType[] { GraphicsDeviceType.OpenGLES2 }); + if (config.CompileOptions.Webgl2) + { + PlayerSettings.SetGraphicsAPIs(BuildTarget.WeixinMiniGame, new GraphicsDeviceType[] { GraphicsDeviceType.OpenGLES3 }); + } + else + { + PlayerSettings.SetGraphicsAPIs(BuildTarget.WeixinMiniGame, new GraphicsDeviceType[] { GraphicsDeviceType.OpenGLES2 }); + } } #else PlayerSettings.SetUseDefaultGraphicsAPIs(BuildTarget.WebGL, false); @@ -1194,7 +1255,8 @@ namespace WeChatWASM public static void convertDataPackageJS() { - if (!isPlayableBuild) { + if (!isPlayableBuild) + { checkNeedRmovePackageParallelPreload(); } @@ -1650,7 +1712,8 @@ namespace WeChatWASM content = content.Replace("$unityVersion$", Application.unityVersion); File.WriteAllText(Path.Combine(dst, "unity-sdk", "index.js"), content, Encoding.UTF8); // content = File.ReadAllText(Path.Combine(Application.dataPath, "WX-WASM-SDK-V2", "Runtime", "wechat-default", "unity-sdk", "storage.js"), Encoding.UTF8); - if (!isPlayableBuild) { + if (!isPlayableBuild) + { content = File.ReadAllText(Path.Combine(UnityUtil.GetWxSDKRootPath(), "Runtime", defaultTemplateDir, "unity-sdk", "storage.js"), Encoding.UTF8); var PreLoadKeys = config.PlayerPrefsKeys.Count > 0 ? JsonMapper.ToJson(config.PlayerPrefsKeys) : "[]"; content = content.Replace("'$PreLoadKeys'", PreLoadKeys); @@ -1904,7 +1967,7 @@ namespace WeChatWASM config.ProjectConf.bundleHashLength.ToString(), bundlePathIdentifierStr, excludeFileExtensionsStr, - config.CompileOptions.Webgl2 ? "2" : "1", + config.CompileOptions.enableiOSMetal ? "5" : (config.CompileOptions.Webgl2 ? "2" : "1"), Application.unityVersion, WXExtEnvDef.pluginVersion, config.ProjectConf.dataFileSubPrefix, @@ -1956,7 +2019,8 @@ namespace WeChatWASM List replaceList = new List(replaceArrayList); List files = new List { "game.js", "game.json", "project.config.json", "unity-namespace.js", "check-version.js", "unity-sdk/font/index.js" }; - if (isPlayableBuild) { + if (isPlayableBuild) + { files = new List { "game.js", "game.json", "project.config.json", "unity-namespace.js", "check-version.js" }; } diff --git a/Editor/WXEditorSettingHelper.cs b/Editor/WXEditorSettingHelper.cs index 3eed3e3fa..8fd180662 100644 --- a/Editor/WXEditorSettingHelper.cs +++ b/Editor/WXEditorSettingHelper.cs @@ -54,15 +54,11 @@ namespace WeChatWASM foldInstantGame = WXConvertCore.IsInstantGameAutoStreaming(); projectRootPath = System.IO.Path.GetFullPath(Application.dataPath + "/../"); - - _dstCache = ""; } private static WXEditorScriptObject config; private static bool m_EnablePerfTool = false; - private static string _dstCache; - public void OnFocus() { loadData(); @@ -187,8 +183,9 @@ namespace WeChatWASM this.formCheckbox("il2CppOptimizeSize", "Il2Cpp Optimize Size(?)", "对应于Il2CppCodeGeneration选项,勾选时使用OptimizeSize(默认推荐),生成代码小15%左右,取消勾选则使用OptimizeSpeed。游戏中大量泛型集合的高频访问建议OptimizeSpeed,在使用HybridCLR等第三方组件时只能用OptimizeSpeed。(Dotnet Runtime模式下该选项无效)", !UseIL2CPP); this.formCheckbox("profilingFuncs", "Profiling Funcs"); this.formCheckbox("profilingMemory", "Profiling Memory"); - this.formCheckbox("webgl2", "WebGL2.0"); + this.formCheckbox("webgl2", "WebGL2.0(beta)"); this.formCheckbox("iOSPerformancePlus", "iOSPerformancePlus(?)", "是否使用iOS高性能+渲染方案,有助于提升渲染兼容性、降低WebContent进程内存"); + // this.formCheckbox("iOSMetal", "iOSMetal(?)", "是否使用iOSMetal渲染方案,需要开启iOS高性能+模式,有助于提升运行性能,降低iOS功耗"); this.formCheckbox("deleteStreamingAssets", "Clear Streaming Assets"); this.formCheckbox("cleanBuild", "Clean WebGL Build"); // this.formCheckbox("cleanCloudDev", "Clean Cloud Dev"); @@ -394,7 +391,6 @@ namespace WeChatWASM // SDKFilePath = Path.Combine(Application.dataPath, "WX-WASM-SDK-V2", "Runtime", "wechat-default", "unity-sdk", "index.js"); SDKFilePath = Path.Combine(UnityUtil.GetWxSDKRootPath(), "Runtime", "wechat-default", "unity-sdk", "index.js"); config = UnityUtil.GetEditorConf(); - _dstCache = config.ProjectConf.DST; // Instant Game if (WXConvertCore.IsInstantGameAutoStreaming()) @@ -436,7 +432,7 @@ namespace WeChatWASM this.setData("compressDataPackage", config.ProjectConf.compressDataPackage); this.setData("videoUrl", config.ProjectConf.VideoUrl); this.setData("orientation", (int)config.ProjectConf.Orientation); - this.setData("dst", _dstCache); + this.setData("dst", config.ProjectConf.relativeDST); this.setData("bundleHashLength", config.ProjectConf.bundleHashLength.ToString()); this.setData("bundlePathIdentifier", config.ProjectConf.bundlePathIdentifier); this.setData("bundleExcludeExtensions", config.ProjectConf.bundleExcludeExtensions); @@ -452,6 +448,7 @@ namespace WeChatWASM this.setData("customNodePath", config.CompileOptions.CustomNodePath); this.setData("webgl2", config.CompileOptions.Webgl2); this.setData("iOSPerformancePlus", config.CompileOptions.enableIOSPerformancePlus); + this.setData("iOSMetal", config.CompileOptions.enableiOSMetal); this.setData("fbslim", config.CompileOptions.fbslim); this.setData("useFriendRelation", config.SDKOptions.UseFriendRelation); this.setData("useMiniGameChat", config.SDKOptions.UseMiniGameChat); @@ -513,8 +510,8 @@ namespace WeChatWASM config.ProjectConf.compressDataPackage = this.getDataCheckbox("compressDataPackage"); config.ProjectConf.VideoUrl = this.getDataInput("videoUrl"); config.ProjectConf.Orientation = (WXScreenOritation)this.getDataPop("orientation"); - _dstCache = this.getDataInput("dst"); - config.ProjectConf.DST = GetAbsolutePath(_dstCache); + config.ProjectConf.relativeDST = this.getDataInput("dst"); + config.ProjectConf.DST = GetAbsolutePath(config.ProjectConf.relativeDST); config.ProjectConf.bundleHashLength = int.Parse(this.getDataInput("bundleHashLength")); config.ProjectConf.bundlePathIdentifier = this.getDataInput("bundlePathIdentifier"); config.ProjectConf.bundleExcludeExtensions = this.getDataInput("bundleExcludeExtensions"); @@ -530,6 +527,7 @@ namespace WeChatWASM config.CompileOptions.CustomNodePath = this.getDataInput("customNodePath"); config.CompileOptions.Webgl2 = this.getDataCheckbox("webgl2"); config.CompileOptions.enableIOSPerformancePlus = this.getDataCheckbox("iOSPerformancePlus"); + config.CompileOptions.enableiOSMetal = this.getDataCheckbox("iOSMetal"); config.CompileOptions.fbslim = this.getDataCheckbox("fbslim"); config.SDKOptions.UseFriendRelation = this.getDataCheckbox("useFriendRelation"); config.SDKOptions.UseMiniGameChat = this.getDataCheckbox("useMiniGameChat"); diff --git a/Editor/WXExtDef.cs b/Editor/WXExtDef.cs index 3763d7e74..08a5888e4 100644 --- a/Editor/WXExtDef.cs +++ b/Editor/WXExtDef.cs @@ -125,6 +125,10 @@ namespace WeChatWASM { return WXConvertCore.UseIL2CPP; }); + WXExtEnvDef.RegisterAction("WXConvertCore.UseiOSMetal", (args) => + { + return WXConvertCore.UseiOSMetal; + }); WXExtEnvDef.RegisterAction("UnityUtil.GetWxSDKRootPath", (args) => { #if UNITY_2018 diff --git a/Editor/WXPluginVersion.cs b/Editor/WXPluginVersion.cs index 5b7fa78a4..40096ed5b 100644 --- a/Editor/WXPluginVersion.cs +++ b/Editor/WXPluginVersion.cs @@ -2,7 +2,7 @@ namespace WeChatWASM { public class WXPluginVersion { - public static string pluginVersion = "202507110255"; // 这一行不要改他,导出的时候会自动替换 + public static string pluginVersion = "202507140816"; // 这一行不要改他,导出的时候会自动替换 } public class WXPluginConf diff --git a/Editor/wx-editor.dll b/Editor/wx-editor.dll index 62a84e357..f4d7ce058 100644 Binary files a/Editor/wx-editor.dll and b/Editor/wx-editor.dll differ diff --git a/Editor/wx-editor.xml b/Editor/wx-editor.xml index 05b31bf33..8bd12eb5f 100644 --- a/Editor/wx-editor.xml +++ b/Editor/wx-editor.xml @@ -381,6 +381,11 @@ 视频url + + + 导出路径(相对路径) + + 导出路径(绝对路径) @@ -643,6 +648,11 @@ 是否使用iOS高性能Plus + + + 是否使用iOS metal指令流 + + 是否使用brotli多线程压缩 @@ -773,6 +783,11 @@ 试玩 appid + + + 导出路径(相对路径) + + 导出路径(绝对路径) diff --git a/Editor/wx-editor.xml.meta b/Editor/wx-editor.xml.meta index da9ca4a98..9076a7dd3 100644 --- a/Editor/wx-editor.xml.meta +++ b/Editor/wx-editor.xml.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 175482d15b3210c9cf4596d45192bdc5 +guid: d05761f316f7eab715c19190699cc137 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/Plugins/SDK-Call-JS.jslib b/Runtime/Plugins/SDK-Call-JS.jslib index 3256e5b87..7c5f0a0bb 100644 --- a/Runtime/Plugins/SDK-Call-JS.jslib +++ b/Runtime/Plugins/SDK-Call-JS.jslib @@ -115,8 +115,8 @@ WX_SyncFunction_tnn: function(functionName, returnType, param1, param2){ stringToUTF8((res || ''), buffer, bufferSize); return buffer; }, -WX_ClassOneWayFunction:function(functionName, returnType, successType, failType, completeType, conf) { - var res = window.WXWASMSDK.WX_ClassOneWayFunction(_WXPointer_stringify_adaptor(functionName), _WXPointer_stringify_adaptor(returnType), _WXPointer_stringify_adaptor(successType), _WXPointer_stringify_adaptor(failType), _WXPointer_stringify_adaptor(completeType), _WXPointer_stringify_adaptor(conf)); +WX_ClassConstructor:function(functionName, returnType, successType, failType, completeType, conf) { + var res = window.WXWASMSDK.WX_ClassConstructor(_WXPointer_stringify_adaptor(functionName), _WXPointer_stringify_adaptor(returnType), _WXPointer_stringify_adaptor(successType), _WXPointer_stringify_adaptor(failType), _WXPointer_stringify_adaptor(completeType), _WXPointer_stringify_adaptor(conf)); var bufferSize = lengthBytesUTF8(res || '') + 1; var buffer = _malloc(bufferSize); stringToUTF8((res || ''), buffer, bufferSize); @@ -156,5 +156,7 @@ WX_ClassOneWayNoFunction_vt: function(className, functionName, id, param1) { }, WX_ClassOneWayNoFunction_vn: function(className, functionName, id, param1) { window.WXWASMSDK.WX_ClassOneWayNoFunction_vs(_WXPointer_stringify_adaptor(className), _WXPointer_stringify_adaptor(functionName), _WXPointer_stringify_adaptor(id), param1); +},WX_ClassOneWayFunction: function(className, id, functionName, successType, failType, completeType, conf, callbackId, usePromise) { + window.WXWASMSDK.WX_ClassOneWayFunction(_WXPointer_stringify_adaptor(className), _WXPointer_stringify_adaptor(id), _WXPointer_stringify_adaptor(functionName), _WXPointer_stringify_adaptor(successType), _WXPointer_stringify_adaptor(failType), _WXPointer_stringify_adaptor(completeType), _WXPointer_stringify_adaptor(conf), _WXPointer_stringify_adaptor(callbackId), usePromise); }, }) \ No newline at end of file diff --git a/Runtime/Plugins/wx-perf.dll b/Runtime/Plugins/wx-perf.dll index 0cb5bc05e..7651d3d5b 100644 Binary files a/Runtime/Plugins/wx-perf.dll and b/Runtime/Plugins/wx-perf.dll differ diff --git a/Runtime/Plugins/wx-runtime-editor.dll b/Runtime/Plugins/wx-runtime-editor.dll index ca2b0907b..c52b2e4e5 100644 Binary files a/Runtime/Plugins/wx-runtime-editor.dll and b/Runtime/Plugins/wx-runtime-editor.dll differ diff --git a/Runtime/Plugins/wx-runtime-editor.xml b/Runtime/Plugins/wx-runtime-editor.xml index ccaca068c..498b52a2d 100644 --- a/Runtime/Plugins/wx-runtime-editor.xml +++ b/Runtime/Plugins/wx-runtime-editor.xml @@ -1699,26 +1699,6 @@ 如果返回的是字符串,则数据在这个字段 - - - 文件的类型和存取的权限,对应 POSIX stat.st_mode - - - - - 文件大小,单位:B,对应 POSIX stat.st_size - - - - - 文件最近一次被存取或被执行的时间,UNIX 时间戳,对应 POSIX stat.st_atime - - - - - 文件最后一次被修改的时间,UNIX 时间戳,对应 POSIX stat.st_mtime - - 文件的路径 @@ -3129,19 +3109,24 @@  是否结束 - + - 接口调用结束的回调函数(调用成功、失败都会执行) + 从不同渠道获得的OPENLINK字符串 - + - 接口调用失败的回调函数 + 选填,部分活动、功能允许接收自定义query参数,请参阅渠道说明,默认可不填 - + - 接口调用成功的回调函数 + 从不同渠道获得的OPENLINK字符串 + + + + + 选填,部分活动、功能允许接收自定义query参数,请参阅渠道说明,默认可不填 @@ -4138,26 +4123,6 @@ 取值为0/1,取值为0表示会把 `App`、`Page` 的生命周期函数和 `wx` 命名空间下的函数调用写入日志,取值为1则不会。默认值是 0 - - - 从不同渠道获得的OPENLINK字符串 - - - - - 选填,部分活动、功能允许接收自定义query参数,请参阅渠道说明,默认可不填 - - - - - 从不同渠道获得的OPENLINK字符串 - - - - - 选填,部分活动、功能允许接收自定义query参数,请参阅渠道说明,默认可不填 - - 是否有新版本 diff --git a/Runtime/Plugins/wx-runtime-editor.xml.meta b/Runtime/Plugins/wx-runtime-editor.xml.meta index 5e81243aa..c04304d56 100644 --- a/Runtime/Plugins/wx-runtime-editor.xml.meta +++ b/Runtime/Plugins/wx-runtime-editor.xml.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: aae7ade219d8625ffa4614041aed5481 +guid: 7a86865669cf8962db73b80475f73340 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/Plugins/wx-runtime.dll b/Runtime/Plugins/wx-runtime.dll index beb3a5dcd..43d526d76 100644 Binary files a/Runtime/Plugins/wx-runtime.dll and b/Runtime/Plugins/wx-runtime.dll differ diff --git a/Runtime/Plugins/wx-runtime.xml b/Runtime/Plugins/wx-runtime.xml index a73f981c2..d4e4841fa 100644 --- a/Runtime/Plugins/wx-runtime.xml +++ b/Runtime/Plugins/wx-runtime.xml @@ -1705,26 +1705,6 @@ 如果返回的是字符串,则数据在这个字段 - - - 文件的类型和存取的权限,对应 POSIX stat.st_mode - - - - - 文件大小,单位:B,对应 POSIX stat.st_size - - - - - 文件最近一次被存取或被执行的时间,UNIX 时间戳,对应 POSIX stat.st_atime - - - - - 文件最后一次被修改的时间,UNIX 时间戳,对应 POSIX stat.st_mtime - - 文件的路径 @@ -3135,19 +3115,24 @@  是否结束 - + - 接口调用结束的回调函数(调用成功、失败都会执行) + 从不同渠道获得的OPENLINK字符串 - + - 接口调用失败的回调函数 + 选填,部分活动、功能允许接收自定义query参数,请参阅渠道说明,默认可不填 - + - 接口调用成功的回调函数 + 从不同渠道获得的OPENLINK字符串 + + + + + 选填,部分活动、功能允许接收自定义query参数,请参阅渠道说明,默认可不填 @@ -4144,26 +4129,6 @@ 取值为0/1,取值为0表示会把 `App`、`Page` 的生命周期函数和 `wx` 命名空间下的函数调用写入日志,取值为1则不会。默认值是 0 - - - 从不同渠道获得的OPENLINK字符串 - - - - - 选填,部分活动、功能允许接收自定义query参数,请参阅渠道说明,默认可不填 - - - - - 从不同渠道获得的OPENLINK字符串 - - - - - 选填,部分活动、功能允许接收自定义query参数,请参阅渠道说明,默认可不填 - - 是否有新版本 diff --git a/Runtime/Plugins/wx-runtime.xml.meta b/Runtime/Plugins/wx-runtime.xml.meta index 87527cb46..6166ab1d3 100644 --- a/Runtime/Plugins/wx-runtime.xml.meta +++ b/Runtime/Plugins/wx-runtime.xml.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: b709df3edaee2bfff5b85590b02c6a35 +guid: 73f0f5fde7193ea9d6786ceb70926356 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/WX.cs b/Runtime/WX.cs index cbb9acb6f..5ed7696d9 100644 --- a/Runtime/WX.cs +++ b/Runtime/WX.cs @@ -4017,6 +4017,12 @@ namespace WeChatWASM return WXSDKManagerHandler.Instance.CreateFeedbackButton(option); } + /// + public static WXMiniReportManager GetMiniReportManager(GetMiniReportManagerParam param) + { + return WXSDKManagerHandler.Instance.GetMiniReportManager(param); + } + /// /// [[LogManager](https://developers.weixin.qq.com/minigame/dev/api/base/debug/LogManager.html) wx.getLogManager(Object object)](https://developers.weixin.qq.com/minigame/dev/api/base/debug/wx.getLogManager.html) /// 需要基础库: `2.1.0` @@ -4036,32 +4042,6 @@ namespace WeChatWASM return WXSDKManagerHandler.Instance.GetLogManager(option); } - /// - /// [[PageManager](https://developers.weixin.qq.com/minigame/dev/api/open-api/openlink/PageManager.html) wx.createPageManager()](https://developers.weixin.qq.com/minigame/dev/api/open-api/openlink/wx.createPageManager.html) - /// 需要基础库: `3.6.7` - /// 小游戏开放页面管理器,用于启动微信内置的各种小游戏活动、功能页面。具体OPENLINK值由不同的能力渠道获得。 - /// **示例代码** - /// ```js - /// const pageManager = wx.createPageManager(); - /// pageManager.load({ - /// openlink: 'xxxxxxx-xxxxxx', // 由不同渠道获得的OPENLINK值 - /// }).then((res) => { - /// // 加载成功,res 可能携带不同活动、功能返回的特殊回包信息(具体请参阅渠道说明) - /// console.log(res); - /// // 加载成功后按需显示 - /// pageManager.show(); - /// }).catch((err) => { - /// // 加载失败,请查阅 err 给出的错误信息 - /// console.error(err); - /// }) - /// ``` - /// - /// - public static WXPageManager CreatePageManager() - { - return WXSDKManagerHandler.Instance.CreatePageManager(); - } - /// /// [[RealtimeLogManager](https://developers.weixin.qq.com/minigame/dev/api/base/debug/RealtimeLogManager.html) wx.getRealtimeLogManager()](https://developers.weixin.qq.com/minigame/dev/api/base/debug/wx.getRealtimeLogManager.html) /// 需要基础库: `2.14.4` diff --git a/Runtime/WXBase.cs b/Runtime/WXBase.cs index 3daf90bc9..31be7b595 100644 --- a/Runtime/WXBase.cs +++ b/Runtime/WXBase.cs @@ -1127,6 +1127,32 @@ namespace WeChatWASM WXSDKManagerHandler.Instance.NotifyMiniProgramPlayableStatus(option); } #endregion + + /// + /// [[PageManager](https://developers.weixin.qq.com/minigame/dev/api/open-api/openlink/PageManager.html) wx.createPageManager()](https://developers.weixin.qq.com/minigame/dev/api/open-api/openlink/wx.createPageManager.html) + /// 需要基础库: `3.6.7` + /// 小游戏开放页面管理器,用于启动微信内置的各种小游戏活动、功能页面。具体OPENLINK值由不同的能力渠道获得。 + /// **示例代码** + /// ```js + /// const pageManager = wx.createPageManager(); + /// pageManager.load({ + /// openlink: 'xxxxxxx-xxxxxx', // 由不同渠道获得的OPENLINK值 + /// }).then((res) => { + /// // 加载成功,res 可能携带不同活动、功能返回的特殊回包信息(具体请参阅渠道说明) + /// console.log(res); + /// // 加载成功后按需显示 + /// pageManager.show(); + /// }).catch((err) => { + /// // 加载失败,请查阅 err 给出的错误信息 + /// console.error(err); + /// }) + /// ``` + /// + /// + public static WXPageManager CreatePageManager() + { + return WXSDKManagerHandler.Instance.CreatePageManager(); + } } } #endif diff --git a/Runtime/playable-default/check-version.js.meta b/Runtime/playable-default/check-version.js.meta index 771b170b0..ac44b63ed 100644 --- a/Runtime/playable-default/check-version.js.meta +++ b/Runtime/playable-default/check-version.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 6020b3480b7fe68c95c5bb57ba4bd59f +guid: cc4d1b8b74f6b789bf69837ad5038f26 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/data-package/game.js.meta b/Runtime/playable-default/data-package/game.js.meta index 7850100a5..ec6451f21 100644 --- a/Runtime/playable-default/data-package/game.js.meta +++ b/Runtime/playable-default/data-package/game.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 292a94c992e4202768c4ad789b4cc0d5 +guid: b28d18fe3653a8e25ac449c4a0fdb829 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/events.js.meta b/Runtime/playable-default/events.js.meta index 6c62583a0..99940c455 100644 --- a/Runtime/playable-default/events.js.meta +++ b/Runtime/playable-default/events.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 135f382abe5b45dd75cd4760ce2af518 +guid: d71d0e419191d50c4f4246dc3f175c4a DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/game.js.meta b/Runtime/playable-default/game.js.meta index 455886601..83f621f53 100644 --- a/Runtime/playable-default/game.js.meta +++ b/Runtime/playable-default/game.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 70ce09b789b4a4723e195f4b65d78444 +guid: 56038ece53f4e5154f42b605f8ad8265 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/game.json.meta b/Runtime/playable-default/game.json.meta index 56d89d69b..2cc7178ef 100644 --- a/Runtime/playable-default/game.json.meta +++ b/Runtime/playable-default/game.json.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: a1fa97797aa272f69fad5ee1bdf22f38 +guid: 8fbb8cb050f1d51c6e1b8c8bbbfae92e DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/playable-fix.js.meta b/Runtime/playable-default/playable-fix.js.meta index 29b3b48fd..6993920a2 100644 --- a/Runtime/playable-default/playable-fix.js.meta +++ b/Runtime/playable-default/playable-fix.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 4f8ce3feb4ddc7cb222037cef7e4f49d +guid: deb864223ae3b38f239ad96baa66741a DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/plugin-config.js.meta b/Runtime/playable-default/plugin-config.js.meta index ca4936cb7..1a84afa1c 100644 --- a/Runtime/playable-default/plugin-config.js.meta +++ b/Runtime/playable-default/plugin-config.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 02002844557a5ec0a6565937141b26ba +guid: ba8bcbdf337ff1ae3c1f865cfc5af6fd DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/plugins/check-update.js.meta b/Runtime/playable-default/plugins/check-update.js.meta index 5e33b3119..cf8374b15 100644 --- a/Runtime/playable-default/plugins/check-update.js.meta +++ b/Runtime/playable-default/plugins/check-update.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 680b45b182e28c36d39d521a89c394fc +guid: 341ccee6bd5ea1368262130cfe2cdd7d DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/plugins/screen-adapter.js.meta b/Runtime/playable-default/plugins/screen-adapter.js.meta index 544790500..901ade047 100644 --- a/Runtime/playable-default/plugins/screen-adapter.js.meta +++ b/Runtime/playable-default/plugins/screen-adapter.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 6826d9d562e04bb5821da619ce97df76 +guid: 3e6d080fb26f26e313055200b81987a1 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/project.config.json.meta b/Runtime/playable-default/project.config.json.meta index fef299d31..178084c5f 100644 --- a/Runtime/playable-default/project.config.json.meta +++ b/Runtime/playable-default/project.config.json.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 2c6395b66bbffe6a3b8d2269b3a1c433 +guid: a451f26281aa58075dd3e2c5be40eb64 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/texture-config.js.meta b/Runtime/playable-default/texture-config.js.meta index 0073276a4..09e0f7331 100644 --- a/Runtime/playable-default/texture-config.js.meta +++ b/Runtime/playable-default/texture-config.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: aae3e99187291fb8685425b94ec3f835 +guid: 3881109c34f2288af3119c2361e95fce DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-namespace.js.meta b/Runtime/playable-default/unity-namespace.js.meta index e7c192d93..5afc9fc58 100644 --- a/Runtime/playable-default/unity-namespace.js.meta +++ b/Runtime/playable-default/unity-namespace.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: d40cbe438eb7e4c3e26becb6d9af2c43 +guid: 985a5b6d31328ec6286af88b0e08dde0 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-playable-plugin/index.js.meta b/Runtime/playable-default/unity-playable-plugin/index.js.meta index ab4c67de5..532dadc42 100644 --- a/Runtime/playable-default/unity-playable-plugin/index.js.meta +++ b/Runtime/playable-default/unity-playable-plugin/index.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 44434ae454477959c4119a5bb2c3d677 +guid: 517c5a4a636b59fb465ad3746f6d79fa DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/audio/common.js.meta b/Runtime/playable-default/unity-sdk/audio/common.js.meta index 1ce87e404..5bf1de22e 100644 --- a/Runtime/playable-default/unity-sdk/audio/common.js.meta +++ b/Runtime/playable-default/unity-sdk/audio/common.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: b0022ab4dac852d0f3a82f64ee94cbee +guid: f72887dc1c5502fe97f16437a7b22e68 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/audio/const.js.meta b/Runtime/playable-default/unity-sdk/audio/const.js.meta index e9c2f98bc..47cd317d8 100644 --- a/Runtime/playable-default/unity-sdk/audio/const.js.meta +++ b/Runtime/playable-default/unity-sdk/audio/const.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: a298ba2ecb8760639da618de87521011 +guid: a8561a14922272193fceb73083b55089 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/audio/index.js.meta b/Runtime/playable-default/unity-sdk/audio/index.js.meta index b0c25eab7..8e77d47ab 100644 --- a/Runtime/playable-default/unity-sdk/audio/index.js.meta +++ b/Runtime/playable-default/unity-sdk/audio/index.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 5507d5f3fbfd30e86b28251eccffa6dd +guid: 78c27d261be00725aa316d249bab303c DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/audio/inner-audio.js.meta b/Runtime/playable-default/unity-sdk/audio/inner-audio.js.meta index 249fb75c4..dc57445ab 100644 --- a/Runtime/playable-default/unity-sdk/audio/inner-audio.js.meta +++ b/Runtime/playable-default/unity-sdk/audio/inner-audio.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: ec7e53fba783369583c006c9344f8e2e +guid: c94ddbda62938c6bd7bb26fa0f5a3ac7 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/audio/store.js.meta b/Runtime/playable-default/unity-sdk/audio/store.js.meta index 91354aa88..8e3667b54 100644 --- a/Runtime/playable-default/unity-sdk/audio/store.js.meta +++ b/Runtime/playable-default/unity-sdk/audio/store.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: cd7f4bf7911552e8b4bbbe5d0e4e3f8c +guid: ed282a77c054cb2f7d74dccee31d5757 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/audio/unity-audio.js.meta b/Runtime/playable-default/unity-sdk/audio/unity-audio.js.meta index 29a931ffd..d5baba674 100644 --- a/Runtime/playable-default/unity-sdk/audio/unity-audio.js.meta +++ b/Runtime/playable-default/unity-sdk/audio/unity-audio.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 7333c474af9a11edd8458b84deb92fd5 +guid: 2f0c759aeee67dc817b33efe17e4dbf8 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/audio/utils.js.meta b/Runtime/playable-default/unity-sdk/audio/utils.js.meta index ee541d01f..1300ca0eb 100644 --- a/Runtime/playable-default/unity-sdk/audio/utils.js.meta +++ b/Runtime/playable-default/unity-sdk/audio/utils.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: d7b235c5035011bff50d0ce207e799ce +guid: 81b6a2237a8ed090a823e46aba5429a2 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/canvas-context.js.meta b/Runtime/playable-default/unity-sdk/canvas-context.js.meta index 43ba77b4a..0478a2ee1 100644 --- a/Runtime/playable-default/unity-sdk/canvas-context.js.meta +++ b/Runtime/playable-default/unity-sdk/canvas-context.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 0f5acc773911c032919ad2c43119eda8 +guid: 013efaac240c9c870caee20f0b91b204 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/canvas.js.meta b/Runtime/playable-default/unity-sdk/canvas.js.meta index f6ddcb3d9..777acba2a 100644 --- a/Runtime/playable-default/unity-sdk/canvas.js.meta +++ b/Runtime/playable-default/unity-sdk/canvas.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: c199ada196b116bc7e6b68d80cd80247 +guid: 9a3e31086fc40694d9be4e613abd5ba4 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/conf.js.meta b/Runtime/playable-default/unity-sdk/conf.js.meta index bccbda6fa..607a04eef 100644 --- a/Runtime/playable-default/unity-sdk/conf.js.meta +++ b/Runtime/playable-default/unity-sdk/conf.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 8039d588e010ff5a14429ddcbd3bde09 +guid: 31b9f1cb6c3d81c38126ce6cc54c8c2f DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/file-info.js.meta b/Runtime/playable-default/unity-sdk/file-info.js.meta index a4c439de4..50107c77c 100644 --- a/Runtime/playable-default/unity-sdk/file-info.js.meta +++ b/Runtime/playable-default/unity-sdk/file-info.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 5138da1e9c3f209559ba8a328cef3a0a +guid: b6c74729cf6202d0144ea059f390605e DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/fix.js.meta b/Runtime/playable-default/unity-sdk/fix.js.meta index a503bcba9..be2cdd87f 100644 --- a/Runtime/playable-default/unity-sdk/fix.js.meta +++ b/Runtime/playable-default/unity-sdk/fix.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: f3f8bfddef62c29eb286e39efb6696d8 +guid: 7336eb0001c727c3e3b9cd7e2086a0f2 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/fs.js.meta b/Runtime/playable-default/unity-sdk/fs.js.meta index 2f1f20a8d..4ab6293d6 100644 --- a/Runtime/playable-default/unity-sdk/fs.js.meta +++ b/Runtime/playable-default/unity-sdk/fs.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 24ed30bc07d602c075831eb11b45b8b9 +guid: 9897552876176d09797a5e8c00ddcaf1 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/index.js.meta b/Runtime/playable-default/unity-sdk/index.js.meta index d25257d47..32d1ffcb3 100644 --- a/Runtime/playable-default/unity-sdk/index.js.meta +++ b/Runtime/playable-default/unity-sdk/index.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 8e370646f3168ba4e0872208f02e077b +guid: 98824e5bed1dd43b80381ce5a9da65c6 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/logger.js.meta b/Runtime/playable-default/unity-sdk/logger.js.meta index 0272f7df4..beb04b875 100644 --- a/Runtime/playable-default/unity-sdk/logger.js.meta +++ b/Runtime/playable-default/unity-sdk/logger.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: c566d1cd478d50599b71122b079a32ca +guid: 0de6bee0e26e9171a56b01db1f13be0b DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/mobileKeyboard/index.js.meta b/Runtime/playable-default/unity-sdk/mobileKeyboard/index.js.meta index 1a4589211..9868e6c59 100644 --- a/Runtime/playable-default/unity-sdk/mobileKeyboard/index.js.meta +++ b/Runtime/playable-default/unity-sdk/mobileKeyboard/index.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 97d8b7aa855a0c42454765c4834e68cf +guid: becc5947cca074b8699d021822c9f6c3 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/module-helper.js.meta b/Runtime/playable-default/unity-sdk/module-helper.js.meta index 8472d1718..190d2fb31 100644 --- a/Runtime/playable-default/unity-sdk/module-helper.js.meta +++ b/Runtime/playable-default/unity-sdk/module-helper.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: a4266e7720ab0e7fe46ab7c737ba07a2 +guid: 295f541cdad40cb6a52a541a76856931 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/recorder.js.meta b/Runtime/playable-default/unity-sdk/recorder.js.meta index 15adc01c9..7f8e3614d 100644 --- a/Runtime/playable-default/unity-sdk/recorder.js.meta +++ b/Runtime/playable-default/unity-sdk/recorder.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 6698d1f0dc92ed62fe4493aeede62ffb +guid: ac225b18751a57f97a9870e43c6b0361 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/resType.js b/Runtime/playable-default/unity-sdk/resType.js index e81a85770..1cc38b161 100644 --- a/Runtime/playable-default/unity-sdk/resType.js +++ b/Runtime/playable-default/unity-sdk/resType.js @@ -1,4 +1,11 @@ export const ResType = { + Gamepad: { + axes: 'IAnyObject[]', + buttons: 'IAnyObject[]', + connected: 'bool', + id: 'string', + index: 'string', + }, AccountInfo: { miniProgram: 'MiniProgram', plugin: 'Plugin', @@ -496,7 +503,7 @@ export const ResType = { headUrl: 'string', nickname: 'string', nonceId: 'string', - otherInfos: 'AnyKeyword[]', + otherInfos: 'any[]', replayStatus: 'number', status: 'number', errMsg: 'string', @@ -505,7 +512,7 @@ export const ResType = { headUrl: 'string', nickname: 'string', noticeId: 'string', - otherInfos: 'AnyKeyword[]', + otherInfos: 'any[]', reservable: 'bool', startTime: 'string', status: 'number', @@ -574,6 +581,11 @@ export const ResType = { weakNet: 'bool', errMsg: 'string', }, + GetPhoneNumberSuccessCallbackResult: { + code: 'string', + errMsg: 'string', + errno: 'number', + }, GetPrivacySettingSuccessCallbackResult: { needAuthorization: 'bool', privacyContractName: 'string', @@ -598,6 +610,10 @@ export const ResType = { mainSwitch: 'bool', itemSettings: 'object', }, + GetShowSplashAdStatusSuccessCallbackResult: { + status: 'string', + errMsg: 'string', + }, GetStorageInfoSuccessCallbackOption: { currentSize: 'number', keys: 'string[]', @@ -724,6 +740,12 @@ export const ResType = { message: 'string', stack: 'string', }, + OnGamepadConnectedListenerResult: { + gamepad: 'string', + }, + OnGamepadDisconnectedListenerResult: { + gamepad: 'string', + }, OnHandoffListenerResult: { query: 'string', }, @@ -741,14 +763,6 @@ export const ResType = { OnMemoryWarningListenerResult: { level: 'number', }, - OnMenuButtonBoundingClientRectWeightChangeListenerResult: { - bottom: 'number', - height: 'number', - left: 'number', - right: 'number', - top: 'number', - width: 'number', - }, OnMouseDownListenerResult: { button: 'number', timeStamp: 'long', @@ -849,17 +863,6 @@ export const ResType = { subscriptionsSetting: 'SubscriptionsSetting', errMsg: 'string', }, - OperateGameRecorderVideoOption: { - atempo: 'number', - audioMix: 'bool', - bgm: 'string', - desc: 'string', - path: 'string', - query: 'string', - timeRange: 'number[]', - title: 'string', - volume: 'number', - }, MediaSource: { url: 'string', poster: 'string', diff --git a/Runtime/playable-default/unity-sdk/resType.js.meta b/Runtime/playable-default/unity-sdk/resType.js.meta index ba30cceb7..0cac9a56d 100644 --- a/Runtime/playable-default/unity-sdk/resType.js.meta +++ b/Runtime/playable-default/unity-sdk/resType.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: a8d122b7c2d620d9d9e654b0a2a14305 +guid: 7fed5fbe0ac7a1c55cdc3fa5fd4bb341 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/resTypeOther.js.meta b/Runtime/playable-default/unity-sdk/resTypeOther.js.meta index fc46a714f..d2b81a3c8 100644 --- a/Runtime/playable-default/unity-sdk/resTypeOther.js.meta +++ b/Runtime/playable-default/unity-sdk/resTypeOther.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 683d3fc35bcb70bf56ffca3c6099b1dc +guid: f9e032304913041c4d857bd12c42ce05 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/response.js.meta b/Runtime/playable-default/unity-sdk/response.js.meta index 954c6b1c5..f10eea013 100644 --- a/Runtime/playable-default/unity-sdk/response.js.meta +++ b/Runtime/playable-default/unity-sdk/response.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 74df9313e7f74f76fb48ed7e0313877d +guid: c5b7710cc2869b088680870540f6f142 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/sdk.js b/Runtime/playable-default/unity-sdk/sdk.js index d1230f719..0c1957ed6 100644 --- a/Runtime/playable-default/unity-sdk/sdk.js +++ b/Runtime/playable-default/unity-sdk/sdk.js @@ -23,7 +23,7 @@ function getClassObject(className, id) { // eslint-disable-next-line @typescript-eslint/naming-convention function WX_OneWayNoFunction(functionName, ...params) { - wx[functionName.replace(/^\w/, a => a.toLowerCase())](...params); + wx[functionName.replace(/^\w/, (a) => a.toLowerCase())](...params); } @@ -33,7 +33,7 @@ const onlyReadyResponse = [ ]; // eslint-disable-next-line @typescript-eslint/naming-convention function WX_SyncFunction(functionName, ...params) { - return wx[functionName.replace(/^\w/, a => a.toLowerCase())](...params); + return wx[functionName.replace(/^\w/, (a) => a.toLowerCase())](...params); } // eslint-disable-next-line @typescript-eslint/naming-convention @@ -42,13 +42,22 @@ function WX_ClassOneWayNoFunction(className, functionName, id, ...params) { if (!obj) { return; } - obj[functionName.replace(/^\w/, a => a.toLowerCase())](...params); + obj[functionName.replace(/^\w/, (a) => a.toLowerCase())](...params); +} +function classFormatAndSend(id, callbackId, callbackName, callbackType, resType, res) { + formatResponse(resType, res); + moduleHelper.send(callbackName, classGetMsg(id, callbackId, callbackType, res)); +} +function classGetMsg(id, callbackId, resType, res) { + return JSON.stringify({ + id, callbackId, type: resType, res: JSON.stringify(res) || '', + }); } export default { WX_OneWayFunction(functionName, successType, failType, completeType, conf, callbackId) { - const lowerFunctionName = functionName.replace(/^\w/, a => a.toLowerCase()); + const lowerFunctionName = functionName.replace(/^\w/, (a) => a.toLowerCase()); const config = formatJsonStr(conf); - + // specialJS if (lowerFunctionName === 'login') { if (!config.timeout) { delete config.timeout; @@ -111,7 +120,7 @@ export default { moduleHelper.send(`_${functionName}Callback`, resStr); }; onEventLists[functionName].push(callback); - wx[functionName.replace(/^\w/, a => a.toLowerCase())](callback); + wx[functionName.replace(/^\w/, (a) => a.toLowerCase())](callback); }, WX_OffEventRegister(functionName) { (onEventLists[functionName] || []).forEach((v) => { @@ -225,7 +234,7 @@ export default { }, WX_SyncFunction_t(functionName, returnType) { const res = WX_SyncFunction(functionName); - if (onlyReadyResponse.includes(functionName.replace(/^\w/, a => a.toLowerCase()))) { + if (onlyReadyResponse.includes(functionName.replace(/^\w/, (a) => a.toLowerCase()))) { formatResponse(returnType, JSON.parse(JSON.stringify(res))); return JSON.stringify(res); } @@ -262,10 +271,10 @@ export default { formatResponse(returnType, res); return JSON.stringify(res); }, - WX_ClassOneWayFunction(functionName, returnType, successType, failType, completeType, conf) { + WX_ClassConstructor(functionName, returnType, successType, failType, completeType, conf) { const config = formatJsonStr(conf); const callbackId = uid(); - const obj = wx[functionName.replace(/^\w/, a => a.toLowerCase())]({ + const obj = wx[functionName.replace(/^\w/, (a) => a.toLowerCase())]({ ...config, success(res) { formatResponse(successType, res); @@ -293,7 +302,7 @@ export default { return callbackId; }, WX_ClassFunction(functionName, returnType, option) { - const obj = wx[functionName.replace(/^\w/, a => a.toLowerCase())](formatJsonStr(option)); + const obj = wx[functionName.replace(/^\w/, (a) => a.toLowerCase())](formatJsonStr(option)); const id = uid(); if (!ClassLists[returnType]) { ClassLists[returnType] = {}; @@ -347,10 +356,10 @@ export default { ClassOnEventLists[className + functionName][id + eventName].push(callback); // WXVideoDecoder OnEvent 不规范 特殊处理 if (className === 'WXVideoDecoder') { - obj[functionName.replace(/^\w/, a => a.toLowerCase())](eventName, callback); + obj[functionName.replace(/^\w/, (a) => a.toLowerCase())](eventName, callback); } else { - obj[functionName.replace(/^\w/, a => a.toLowerCase())](callback); + obj[functionName.replace(/^\w/, (a) => a.toLowerCase())](callback); } }, WX_ClassOffEventFunction(className, functionName, id, eventName) { @@ -389,7 +398,7 @@ export default { if (!obj) { return JSON.stringify(formatResponse(returnType)); } - const res = obj[functionName.replace(/^\w/, a => a.toLowerCase())](); + const res = obj[functionName.replace(/^\w/, (a) => a.toLowerCase())](); return JSON.stringify(formatResponse(returnType, res, id)); }, WX_ClassOneWayNoFunction_vt(className, functionName, id, param1) { @@ -399,4 +408,41 @@ export default { WX_ClassOneWayNoFunction_vn(className, functionName, id, param1) { WX_ClassOneWayNoFunction(className, functionName, id, param1); }, + WX_ClassOneWayFunction(className, functionName, id, successType, failType, completeType, conf, callbackId, usePromise = false) { + + const obj = getClassObject(className, id); + if (!obj) { + return; + } + const lowerFunctionName = functionName.replace(/^\w/, (a) => a.toLowerCase()); + const config = formatJsonStr(conf); + + if (usePromise) { + obj[lowerFunctionName]({ + ...config, + }).then((res) => { + classFormatAndSend(id, callbackId, `_${className}${functionName}Callback`, 'success', successType, res); + }) + .catch((res) => { + classFormatAndSend(id, callbackId, `_${className}${functionName}Callback`, 'fail', failType, res); + }) + .finally((res) => { + classFormatAndSend(id, callbackId, `_${className}${functionName}Callback`, 'complete', completeType, res); + }); + } + else { + obj[lowerFunctionName]({ + ...config, + success(res) { + classFormatAndSend(id, callbackId, `_${className}${functionName}Callback`, 'success', successType, res); + }, + fail(res) { + classFormatAndSend(id, callbackId, `_${className}${functionName}Callback`, 'fail', failType, res); + }, + complete(res) { + classFormatAndSend(id, callbackId, `_${className}${functionName}Callback`, 'complete', completeType, res); + }, + }); + } + }, }; diff --git a/Runtime/playable-default/unity-sdk/sdk.js.meta b/Runtime/playable-default/unity-sdk/sdk.js.meta index ac9cdf43d..81fdcf8d3 100644 --- a/Runtime/playable-default/unity-sdk/sdk.js.meta +++ b/Runtime/playable-default/unity-sdk/sdk.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: d6eb9abab67c11c007604f7605df37b2 +guid: 77075f1f6be29390ad96049c600c9c76 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/special-callbacks.js.meta b/Runtime/playable-default/unity-sdk/special-callbacks.js.meta index 4f1f6c8cb..abcaa4aea 100644 --- a/Runtime/playable-default/unity-sdk/special-callbacks.js.meta +++ b/Runtime/playable-default/unity-sdk/special-callbacks.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 97e07ab57a52032bea6ed2cda7479eff +guid: 9d39dc297d8ced46cf02e068358ee9ab DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/texture.js.meta b/Runtime/playable-default/unity-sdk/texture.js.meta index b6922375b..d3097d3ef 100644 --- a/Runtime/playable-default/unity-sdk/texture.js.meta +++ b/Runtime/playable-default/unity-sdk/texture.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 852498371f768a0722b81067f60da81e +guid: c0136cd6bc33d677eae10dc16d78a091 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/touch/index.js.meta b/Runtime/playable-default/unity-sdk/touch/index.js.meta index f917e7964..244abed2f 100644 --- a/Runtime/playable-default/unity-sdk/touch/index.js.meta +++ b/Runtime/playable-default/unity-sdk/touch/index.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: d629203579f9b42fab4b0d19ba3c933e +guid: 155406e200e7b33f530fa7b85d982b90 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/util.js.meta b/Runtime/playable-default/unity-sdk/util.js.meta index 13ec49434..fae8ea43b 100644 --- a/Runtime/playable-default/unity-sdk/util.js.meta +++ b/Runtime/playable-default/unity-sdk/util.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 459e3ae21579eb09cfbd6a86f0ce6f78 +guid: cc03a8fd176bb2a8e47d9d18a1059042 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/utils.js.meta b/Runtime/playable-default/unity-sdk/utils.js.meta index df0b54789..d0d524dac 100644 --- a/Runtime/playable-default/unity-sdk/utils.js.meta +++ b/Runtime/playable-default/unity-sdk/utils.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 4954b4520535f569d680a0eb0c57178f +guid: 704924d674e1cdac74afb50b8cb992f8 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/video.js.meta b/Runtime/playable-default/unity-sdk/video.js.meta index e92960db5..2478366e7 100644 --- a/Runtime/playable-default/unity-sdk/video.js.meta +++ b/Runtime/playable-default/unity-sdk/video.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 26a6159a4d86c35b601046f80669b646 +guid: d57072523a8b245227d3967783913f07 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/video/index.js.meta b/Runtime/playable-default/unity-sdk/video/index.js.meta index 3b41d273a..d5616b318 100644 --- a/Runtime/playable-default/unity-sdk/video/index.js.meta +++ b/Runtime/playable-default/unity-sdk/video/index.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: fe9708c018b010cd00178cc14b3ea179 +guid: 8e442c449a8082f6caccc458f06b4400 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/wasmcode/game.js.meta b/Runtime/playable-default/wasmcode/game.js.meta index 5af3f65fa..e360b78e2 100644 --- a/Runtime/playable-default/wasmcode/game.js.meta +++ b/Runtime/playable-default/wasmcode/game.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 151fe45cbdea66b42d6e73c88b84a83d +guid: 9e73fb2fc0813e8df1bd5b57530a58da DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/weapp-adapter.js.meta b/Runtime/playable-default/weapp-adapter.js.meta index 630fa0b81..b278c7b50 100644 --- a/Runtime/playable-default/weapp-adapter.js.meta +++ b/Runtime/playable-default/weapp-adapter.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 5b8bafdc7c90f8e06c430d13397165f9 +guid: 34cb285304fcc2832590ba6ea2de5ddb DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/check-version.js.meta b/Runtime/wechat-default/check-version.js.meta index 6ab27f69a..f241b9a99 100644 --- a/Runtime/wechat-default/check-version.js.meta +++ b/Runtime/wechat-default/check-version.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 6765c0064f197190a3d702e5ab47ffae +guid: 8facd3d36454591362c811486b15aab8 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/data-package/game.js.meta b/Runtime/wechat-default/data-package/game.js.meta index f97bb2988..3bedc15a7 100644 --- a/Runtime/wechat-default/data-package/game.js.meta +++ b/Runtime/wechat-default/data-package/game.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: e1d2968520cb04052c7a885e706cc2f2 +guid: 44ea1ecc34e3808c78369d468f09c431 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/events.js.meta b/Runtime/wechat-default/events.js.meta index ed2eb2ee3..515a2d009 100644 --- a/Runtime/wechat-default/events.js.meta +++ b/Runtime/wechat-default/events.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: bd209852ddcf3ed921f4d2f27a01aa43 +guid: 035e4590956e35012f99265f9a32dacc DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/game.js.meta b/Runtime/wechat-default/game.js.meta index c7aa1253a..cea2ecae5 100644 --- a/Runtime/wechat-default/game.js.meta +++ b/Runtime/wechat-default/game.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: e5096a2c0aec5864cb5ad0e326f9b385 +guid: a5de2c471507f0035754c228e684e409 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/game.json b/Runtime/wechat-default/game.json index a3fd8feea..22b682158 100644 --- a/Runtime/wechat-default/game.json +++ b/Runtime/wechat-default/game.json @@ -32,7 +32,7 @@ ] }, "Layout": { - "version": "1.0.7", + "version": "1.0.15", "provider": "wx7a727ff7d940bb3f", "contexts": [ { diff --git a/Runtime/wechat-default/game.json.meta b/Runtime/wechat-default/game.json.meta index ae6bcc76a..45ffed0a5 100644 --- a/Runtime/wechat-default/game.json.meta +++ b/Runtime/wechat-default/game.json.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: e527966302091cb1852ecf4ad7fd9587 +guid: cb1016ec8ed093bea9655fa15dfec7bc DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/images/background.jpg.meta b/Runtime/wechat-default/images/background.jpg.meta index 87458b127..1e63e82e3 100644 --- a/Runtime/wechat-default/images/background.jpg.meta +++ b/Runtime/wechat-default/images/background.jpg.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 7746ae0f914d92afaa5212dcebbafc53 +guid: 937ba27e5e2a07db361ed436e9a9ead4 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/images/unity_logo.png.meta b/Runtime/wechat-default/images/unity_logo.png.meta index 8097c0ae2..88a7dcddc 100644 --- a/Runtime/wechat-default/images/unity_logo.png.meta +++ b/Runtime/wechat-default/images/unity_logo.png.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 4d3af37e5f04918112f9147a3a396f37 +guid: 08f8f3b4155cfa5c0dd68244f9f92b32 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/open-data/data/index.js.meta b/Runtime/wechat-default/open-data/data/index.js.meta index 6e1266217..04fc3c558 100644 --- a/Runtime/wechat-default/open-data/data/index.js.meta +++ b/Runtime/wechat-default/open-data/data/index.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 7eaabf92ca3e4fed895610eb26de5bc3 +guid: 152b1a3734b457128462f2cc7f89146b DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/open-data/data/utils.js.meta b/Runtime/wechat-default/open-data/data/utils.js.meta index adb1c1f89..e88883d1c 100644 --- a/Runtime/wechat-default/open-data/data/utils.js.meta +++ b/Runtime/wechat-default/open-data/data/utils.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: a62750a7ccf2d4960b68c566f6917904 +guid: 4fceb99f21e49a102511b9dfc3702361 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/open-data/index.js b/Runtime/wechat-default/open-data/index.js index 4aef76b65..82fb2cd6c 100644 --- a/Runtime/wechat-default/open-data/index.js +++ b/Runtime/wechat-default/open-data/index.js @@ -56,7 +56,6 @@ function LayoutWithTplAndStyle(xml, style) { Layout.clear(); Layout.init(xml, style); Layout.layout(sharedContext); - console.log(Layout); } // 仅仅渲染一些提示,比如数据加载中、当前无授权等 function renderTips(tips = '') { diff --git a/Runtime/wechat-default/open-data/index.js.meta b/Runtime/wechat-default/open-data/index.js.meta index 30201bcf1..f57cab9b3 100644 --- a/Runtime/wechat-default/open-data/index.js.meta +++ b/Runtime/wechat-default/open-data/index.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: bb70b34a677edad13c83fab53c9142c7 +guid: 2921db18d9abb6eb0f94d3326f7406d0 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/open-data/loading.js.meta b/Runtime/wechat-default/open-data/loading.js.meta index 85c1f6f75..751a73e24 100644 --- a/Runtime/wechat-default/open-data/loading.js.meta +++ b/Runtime/wechat-default/open-data/loading.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: cc326a3ec7a53d3008e0358c0b60b983 +guid: 9925b4ee02d16560f68848bb33e9a7ba DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/open-data/render/image/avatar.png.meta b/Runtime/wechat-default/open-data/render/image/avatar.png.meta index 5a3bfd5f6..ee9c9e2b2 100644 --- a/Runtime/wechat-default/open-data/render/image/avatar.png.meta +++ b/Runtime/wechat-default/open-data/render/image/avatar.png.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: d6cb0bcc93e2bb8a43b95b6d89ff056e +guid: b3a7eaefd76308277dd55f1efeb2099d DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/open-data/render/image/button1.png.meta b/Runtime/wechat-default/open-data/render/image/button1.png.meta index 7a9bed979..2a955f095 100644 --- a/Runtime/wechat-default/open-data/render/image/button1.png.meta +++ b/Runtime/wechat-default/open-data/render/image/button1.png.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 3f7281cd074ea6870006783eb08c1d08 +guid: ec10ef960c693a71230ef03ca3567fd3 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/open-data/render/image/button2.png.meta b/Runtime/wechat-default/open-data/render/image/button2.png.meta index 42e3660d0..dd25c803a 100644 --- a/Runtime/wechat-default/open-data/render/image/button2.png.meta +++ b/Runtime/wechat-default/open-data/render/image/button2.png.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 2a45fc426d6a87902a65c31bbc0e7068 +guid: fd3fc633c2dd6fc13c8bee1c07472da2 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/open-data/render/image/button3.png.meta b/Runtime/wechat-default/open-data/render/image/button3.png.meta index a5b2a0581..9fb6d86a0 100644 --- a/Runtime/wechat-default/open-data/render/image/button3.png.meta +++ b/Runtime/wechat-default/open-data/render/image/button3.png.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: cd8d51ebb538aa496c2455bed1a0e415 +guid: e17ce548e681c6af87b3222aa7cc87bf DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/open-data/render/image/loading.png.meta b/Runtime/wechat-default/open-data/render/image/loading.png.meta index 68e876957..f5fb0845f 100644 --- a/Runtime/wechat-default/open-data/render/image/loading.png.meta +++ b/Runtime/wechat-default/open-data/render/image/loading.png.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: e6b9fd146d31d56f6426638c6f04ffbb +guid: 64cd2ef2fca5bc8c3e748d26eaca1f07 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/open-data/render/image/nameBg.png.meta b/Runtime/wechat-default/open-data/render/image/nameBg.png.meta index 0bcc1c868..137175458 100644 --- a/Runtime/wechat-default/open-data/render/image/nameBg.png.meta +++ b/Runtime/wechat-default/open-data/render/image/nameBg.png.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 6371a4d33bb066ec4059ba04f070522c +guid: aef1a76c0b80672d46fb10990e582543 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/open-data/render/image/rankAvatar.png.meta b/Runtime/wechat-default/open-data/render/image/rankAvatar.png.meta index 26d3d996a..fdebd27fc 100644 --- a/Runtime/wechat-default/open-data/render/image/rankAvatar.png.meta +++ b/Runtime/wechat-default/open-data/render/image/rankAvatar.png.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 4c0cae15f7ab86093b657750dd9996d0 +guid: 854f447148c0c86b70516c21a09328fd DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/open-data/render/image/rankBg.png.meta b/Runtime/wechat-default/open-data/render/image/rankBg.png.meta index debf89bf8..56c0ba84a 100644 --- a/Runtime/wechat-default/open-data/render/image/rankBg.png.meta +++ b/Runtime/wechat-default/open-data/render/image/rankBg.png.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 4830d278bb80e46b47fe5cf680608180 +guid: d77b9a484caed9f61a098b7ae2ce5254 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/open-data/render/image/shareBg.png.meta b/Runtime/wechat-default/open-data/render/image/shareBg.png.meta index 25fe6ac78..77e2a9830 100644 --- a/Runtime/wechat-default/open-data/render/image/shareBg.png.meta +++ b/Runtime/wechat-default/open-data/render/image/shareBg.png.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 93aa33c6c217bb6def26e982e0940fa2 +guid: 1d7e5dece9cfe2dde9627cfd0781084d DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/open-data/render/image/shareBg2.png.meta b/Runtime/wechat-default/open-data/render/image/shareBg2.png.meta index 5a9fee8a6..858b469fc 100644 --- a/Runtime/wechat-default/open-data/render/image/shareBg2.png.meta +++ b/Runtime/wechat-default/open-data/render/image/shareBg2.png.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: cb05506e506aa5c70824bc7e524048c0 +guid: ebbbcab2286fd13e110d52dc81a700df DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/open-data/render/styles/friendRank.js b/Runtime/wechat-default/open-data/render/styles/friendRank.js index 023c7f523..3c54e216d 100644 --- a/Runtime/wechat-default/open-data/render/styles/friendRank.js +++ b/Runtime/wechat-default/open-data/render/styles/friendRank.js @@ -63,9 +63,10 @@ export default function getStyle(data) { width: data.width * 0.35, height: (data.height / 2 / 3) * 0.4, textAlign: 'center', - lineHeight: (data.height / 2 / 3) * 0.4, + verticalAlign: 'center', fontSize: data.width * 0.043, textOverflow: 'ellipsis', + whiteSpace: 'nowrap', color: '#fff', }, rankScoreTip: { diff --git a/Runtime/wechat-default/open-data/render/styles/friendRank.js.meta b/Runtime/wechat-default/open-data/render/styles/friendRank.js.meta index 1ea0ec45d..a9e812094 100644 --- a/Runtime/wechat-default/open-data/render/styles/friendRank.js.meta +++ b/Runtime/wechat-default/open-data/render/styles/friendRank.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 3c3aec3ae9ddd659e157b6d189615800 +guid: ac5e56c38e5bc566e27dcefce9cd37e5 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/open-data/render/styles/tips.js.meta b/Runtime/wechat-default/open-data/render/styles/tips.js.meta index f3451b71a..c7e2623b7 100644 --- a/Runtime/wechat-default/open-data/render/styles/tips.js.meta +++ b/Runtime/wechat-default/open-data/render/styles/tips.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 2037d006af38ce88da856dd0e9549d7b +guid: 840185574436b898fa3cb7f9ea4edb6b DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/open-data/render/tpls/friendRank.js b/Runtime/wechat-default/open-data/render/tpls/friendRank.js index 34b6a65ba..84cacdbda 100644 --- a/Runtime/wechat-default/open-data/render/tpls/friendRank.js +++ b/Runtime/wechat-default/open-data/render/tpls/friendRank.js @@ -1,11 +1,10 @@ /** - * 下面的内容分成两部分,第一部分是一个模板,模板的好处是能够有一定的语法 - * 坏处是模板引擎一般都依赖 new Function 或者 eval 能力,小游戏下面是没有的 - * 所以模板的编译需要在外部完成,可以将注释内的模板贴到下面的页面内,点击 "run"就能够得到编译后的模板函数 - * https://wechat-miniprogram.github.io/minigame-canvas-engine/playground.html - * 如果觉得模板引擎使用过于麻烦,也可以手动拼接字符串,本文件对应函数的目标仅仅是为了创建出 xml 节点数 - */ -/* + * 模板引擎使用教程可见:https://wechat-miniprogram.github.io/minigame-canvas-engine/tutorial/templateengine.html + * xml经过doT.js编译出的模板函数 + * 因为小游戏不支持new Function,模板函数只能外部编译 + * 可直接拷贝本函数到小游戏中使用 + * 原始的模板如下: + * @@ -29,22 +28,17 @@ -*/ -/** - * xml经过doT.js编译出的模板函数 - * 因为小游戏不支持new Function,模板函数只能外部编译 - * 可直接拷贝本函数到小游戏中使用 + + * */ -export default function anonymous(it) { - let out = ' '; - const arr1 = it.data; +export default function tplFunc(it) { + var out = ' '; + var arr1 = it.data; if (arr1) { - let item; - let index = -1; - const l1 = arr1.length - 1; + var item, index = -1, l1 = arr1.length - 1; while (index < l1) { - item = arr1[(index += 1)]; - out += ` `; + item = arr1[index += 1]; + out += ' '; } } out += ' '; diff --git a/Runtime/wechat-default/open-data/render/tpls/friendRank.js.meta b/Runtime/wechat-default/open-data/render/tpls/friendRank.js.meta index 6ac62c519..415ae327d 100644 --- a/Runtime/wechat-default/open-data/render/tpls/friendRank.js.meta +++ b/Runtime/wechat-default/open-data/render/tpls/friendRank.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: c410b9bded8995187e18ac3fd398aa20 +guid: 3ccb47d3ecc13ead28ccd488991ea9f5 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/open-data/render/tpls/tips.js.meta b/Runtime/wechat-default/open-data/render/tpls/tips.js.meta index 8b5406597..fdc38fc17 100644 --- a/Runtime/wechat-default/open-data/render/tpls/tips.js.meta +++ b/Runtime/wechat-default/open-data/render/tpls/tips.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: b5f76c9ee4da7e24bc43738503c3722e +guid: 300785d69338cefb88eef63baf713b22 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/plugin-config.js.meta b/Runtime/wechat-default/plugin-config.js.meta index 93f4ed7b2..16472c0ec 100644 --- a/Runtime/wechat-default/plugin-config.js.meta +++ b/Runtime/wechat-default/plugin-config.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 4d481df8c9fdb68fd2f9112b441c3a6a +guid: d1807f626162623b3e3a2ba612470a01 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/plugins/check-update.js.meta b/Runtime/wechat-default/plugins/check-update.js.meta index d8297a007..49abd39ae 100644 --- a/Runtime/wechat-default/plugins/check-update.js.meta +++ b/Runtime/wechat-default/plugins/check-update.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: be59112300a0cf7007d27525356136d0 +guid: ccdd685ef3148b07cf2424d110914418 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/plugins/screen-adapter.js.meta b/Runtime/wechat-default/plugins/screen-adapter.js.meta index 94c70d5d3..37d9e2252 100644 --- a/Runtime/wechat-default/plugins/screen-adapter.js.meta +++ b/Runtime/wechat-default/plugins/screen-adapter.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 2047d824071fde57c929e932c58a98eb +guid: 5d0a759f9dfead88977054641782faae DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/project.config.json.meta b/Runtime/wechat-default/project.config.json.meta index ba2f929c5..3a763452a 100644 --- a/Runtime/wechat-default/project.config.json.meta +++ b/Runtime/wechat-default/project.config.json.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 92a07f455f9b45bcf1b2df8d96bcd288 +guid: dd1b8fb6cfcb43126e8f88412e44438c DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/texture-config.js.meta b/Runtime/wechat-default/texture-config.js.meta index 50c8ed155..dc6468d16 100644 --- a/Runtime/wechat-default/texture-config.js.meta +++ b/Runtime/wechat-default/texture-config.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: ae7de9d52291f2794dcc4ed41bb918ac +guid: c165744a6dda284aab2d8f1fdaded819 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-namespace.js.meta b/Runtime/wechat-default/unity-namespace.js.meta index f44a60dc1..50770e012 100644 --- a/Runtime/wechat-default/unity-namespace.js.meta +++ b/Runtime/wechat-default/unity-namespace.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: e25e7b8992e9068db0706534ab2b2641 +guid: e6f020d0a07b5c5a463edb3baf1302c9 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/TCPSocket/index.js.meta b/Runtime/wechat-default/unity-sdk/TCPSocket/index.js.meta index 6e5fa22ac..bb8bd5820 100644 --- a/Runtime/wechat-default/unity-sdk/TCPSocket/index.js.meta +++ b/Runtime/wechat-default/unity-sdk/TCPSocket/index.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: a8ec4040dfb2ee762433941978f3cf1e +guid: 93c34c8ac5e141d105e15c9018e2971a DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/UDPSocket/index.js.meta b/Runtime/wechat-default/unity-sdk/UDPSocket/index.js.meta index 92e25ee89..3abf0b6af 100644 --- a/Runtime/wechat-default/unity-sdk/UDPSocket/index.js.meta +++ b/Runtime/wechat-default/unity-sdk/UDPSocket/index.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 434e359e77a02aa22089a6cfb90d8de1 +guid: 2d225609b8fcbff3e37c187cbf54abbb DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/ad.js.meta b/Runtime/wechat-default/unity-sdk/ad.js.meta index abd7cac24..5f0d3536c 100644 --- a/Runtime/wechat-default/unity-sdk/ad.js.meta +++ b/Runtime/wechat-default/unity-sdk/ad.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: d2e7b871cc0eba3042619e2d3035d607 +guid: 8b8133a3b11aff48db20898c233645cc DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/audio/common.js.meta b/Runtime/wechat-default/unity-sdk/audio/common.js.meta index c4df73244..02d841522 100644 --- a/Runtime/wechat-default/unity-sdk/audio/common.js.meta +++ b/Runtime/wechat-default/unity-sdk/audio/common.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: c3f7f0289a104db1f8f748c327e9ed31 +guid: 667c62657d3777115e981c21177d9edf DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/audio/const.js.meta b/Runtime/wechat-default/unity-sdk/audio/const.js.meta index 4cc9f25f3..2096ba43c 100644 --- a/Runtime/wechat-default/unity-sdk/audio/const.js.meta +++ b/Runtime/wechat-default/unity-sdk/audio/const.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 2931f7e94692873de52d27c538304cdf +guid: 0864ddbfbda251b6d36051612cd6b02d DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/audio/index.js.meta b/Runtime/wechat-default/unity-sdk/audio/index.js.meta index f7b753f48..609c6a290 100644 --- a/Runtime/wechat-default/unity-sdk/audio/index.js.meta +++ b/Runtime/wechat-default/unity-sdk/audio/index.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: c0f92c7252fb98d2eff210c11ba47321 +guid: 74910269b3dad618bb5a7535d6100a1f DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/audio/inner-audio.js.meta b/Runtime/wechat-default/unity-sdk/audio/inner-audio.js.meta index 88fdc59c6..fdd730876 100644 --- a/Runtime/wechat-default/unity-sdk/audio/inner-audio.js.meta +++ b/Runtime/wechat-default/unity-sdk/audio/inner-audio.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 8c24fa879d80c5c04e82d7c014e5bf6b +guid: aef71ae04416420b069ecda170540347 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/audio/store.js.meta b/Runtime/wechat-default/unity-sdk/audio/store.js.meta index e63427424..1c1b2e0dc 100644 --- a/Runtime/wechat-default/unity-sdk/audio/store.js.meta +++ b/Runtime/wechat-default/unity-sdk/audio/store.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 135f0cf28f5aefa78c567979e116eb89 +guid: 58dac6ebc904aebc8c43b5dd8a2b39d3 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/audio/unity-audio.js.meta b/Runtime/wechat-default/unity-sdk/audio/unity-audio.js.meta index 8d79a4c36..731633292 100644 --- a/Runtime/wechat-default/unity-sdk/audio/unity-audio.js.meta +++ b/Runtime/wechat-default/unity-sdk/audio/unity-audio.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: ed6f50310b9bd331feab98a2e3edd4c9 +guid: 85de148666022927750b20f8a6aa50aa DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/audio/utils.js.meta b/Runtime/wechat-default/unity-sdk/audio/utils.js.meta index ee0b6fc91..03295d71d 100644 --- a/Runtime/wechat-default/unity-sdk/audio/utils.js.meta +++ b/Runtime/wechat-default/unity-sdk/audio/utils.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 09db5d1ec5b2aa259d400658ecadb586 +guid: a3c4fea0d50d1b88463b42211efd51eb DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/authorize.js.meta b/Runtime/wechat-default/unity-sdk/authorize.js.meta index 4a169a047..c8710098a 100644 --- a/Runtime/wechat-default/unity-sdk/authorize.js.meta +++ b/Runtime/wechat-default/unity-sdk/authorize.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: bcc66901ae002ae90ac08e4e7838b343 +guid: a01381ce22e8b10f5623f46992a2a75e DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/bluetooth/index.js.meta b/Runtime/wechat-default/unity-sdk/bluetooth/index.js.meta index c51a572a0..ea9da9c58 100644 --- a/Runtime/wechat-default/unity-sdk/bluetooth/index.js.meta +++ b/Runtime/wechat-default/unity-sdk/bluetooth/index.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 02adad225558287227cff2605f2ea059 +guid: 65e370b56fcf655a44f1797b48057290 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/camera.js.meta b/Runtime/wechat-default/unity-sdk/camera.js.meta index 1e5a7ae77..1cc6192fb 100644 --- a/Runtime/wechat-default/unity-sdk/camera.js.meta +++ b/Runtime/wechat-default/unity-sdk/camera.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 8b85639e67d8a2a342644d17cd103e31 +guid: f6e4ace7fb3c45ebcdcb8de85dedd2f3 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/canvas-context.js.meta b/Runtime/wechat-default/unity-sdk/canvas-context.js.meta index 7f4e51953..ff36b336d 100644 --- a/Runtime/wechat-default/unity-sdk/canvas-context.js.meta +++ b/Runtime/wechat-default/unity-sdk/canvas-context.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 2a5fe059e073a67c50761d6f3c211d60 +guid: a0fcfe61555b6a3a8c45153bc4ea91b3 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/canvas.js.meta b/Runtime/wechat-default/unity-sdk/canvas.js.meta index 27f9e8e90..a40fb89d9 100644 --- a/Runtime/wechat-default/unity-sdk/canvas.js.meta +++ b/Runtime/wechat-default/unity-sdk/canvas.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 97ccd5249693a8f333a88f037b7af620 +guid: 943043bec8d6c09a85592761894a76b2 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/chat.js.meta b/Runtime/wechat-default/unity-sdk/chat.js.meta index 308450caa..9c9b698d5 100644 --- a/Runtime/wechat-default/unity-sdk/chat.js.meta +++ b/Runtime/wechat-default/unity-sdk/chat.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 336c812473c7a981598cc486292737b3 +guid: 3492146a4aa5bb0c2c33bef7c0429c76 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/cloud.js.meta b/Runtime/wechat-default/unity-sdk/cloud.js.meta index 67f781baa..53061060d 100644 --- a/Runtime/wechat-default/unity-sdk/cloud.js.meta +++ b/Runtime/wechat-default/unity-sdk/cloud.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: b179465d264b0001fc7e9c3f70b09d8c +guid: c35336f46f82bd5c0b9e7bf25ba19c15 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/conf.js.meta b/Runtime/wechat-default/unity-sdk/conf.js.meta index 1ae6708a6..b31e74f33 100644 --- a/Runtime/wechat-default/unity-sdk/conf.js.meta +++ b/Runtime/wechat-default/unity-sdk/conf.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 87eeeb24a752f5133ce71e4abd57eef0 +guid: f0502591776b3ed5865593186cf06cd1 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/file-info.js.meta b/Runtime/wechat-default/unity-sdk/file-info.js.meta index bfca11fc1..405c61656 100644 --- a/Runtime/wechat-default/unity-sdk/file-info.js.meta +++ b/Runtime/wechat-default/unity-sdk/file-info.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 090c7a8a1ff5fa98f68ed791ac813cea +guid: 69b6bf84b84633cdaded19418b1de257 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/fix.js.meta b/Runtime/wechat-default/unity-sdk/fix.js.meta index 54d0dd30e..c1ae11823 100644 --- a/Runtime/wechat-default/unity-sdk/fix.js.meta +++ b/Runtime/wechat-default/unity-sdk/fix.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 35875c25589c603183455b1360db7e4f +guid: c5f06a7b6be5cf48896e183a040f7ebb DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/font/fix-cmap.js.meta b/Runtime/wechat-default/unity-sdk/font/fix-cmap.js.meta index c089b20cd..db12d5d98 100644 --- a/Runtime/wechat-default/unity-sdk/font/fix-cmap.js.meta +++ b/Runtime/wechat-default/unity-sdk/font/fix-cmap.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: abe49ce4cff2516e8ea69430ad4a0d30 +guid: 9d0ef968e6e444056b4244148f3596bf DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/font/index.js.meta b/Runtime/wechat-default/unity-sdk/font/index.js.meta index 7863dff2e..024fc5980 100644 --- a/Runtime/wechat-default/unity-sdk/font/index.js.meta +++ b/Runtime/wechat-default/unity-sdk/font/index.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: b3120520f604e283dccd22319c8dfc32 +guid: a1f75f9123f711a891c8d615a976db3f DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/font/read-metrics.js.meta b/Runtime/wechat-default/unity-sdk/font/read-metrics.js.meta index 2cc876a60..d9090b1f3 100644 --- a/Runtime/wechat-default/unity-sdk/font/read-metrics.js.meta +++ b/Runtime/wechat-default/unity-sdk/font/read-metrics.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 6f0903471292b46f022a6006e6c647f4 +guid: 8a7f9c195bef272b2ea0fa5c0a174015 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/font/split-sc.js.meta b/Runtime/wechat-default/unity-sdk/font/split-sc.js.meta index c2a6dcd49..c68e65f11 100644 --- a/Runtime/wechat-default/unity-sdk/font/split-sc.js.meta +++ b/Runtime/wechat-default/unity-sdk/font/split-sc.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: d6d474dfcc6d488d804c1944b871f449 +guid: e0deecf585e636e186fe6c5f74725efd DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/font/util.js.meta b/Runtime/wechat-default/unity-sdk/font/util.js.meta index 59c6e312b..10e50f24e 100644 --- a/Runtime/wechat-default/unity-sdk/font/util.js.meta +++ b/Runtime/wechat-default/unity-sdk/font/util.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 148871f704002b7f91a1eb1a20046fab +guid: 9f9943f08240eddcd49ee86a5a8dd923 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/fs.js.meta b/Runtime/wechat-default/unity-sdk/fs.js.meta index 7a1b3e227..3f751621e 100644 --- a/Runtime/wechat-default/unity-sdk/fs.js.meta +++ b/Runtime/wechat-default/unity-sdk/fs.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 83bf1ba6a1529395653960c7fff0df99 +guid: 8c29cff1b19292f6a3c5ec12f1dda348 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/game-club.js.meta b/Runtime/wechat-default/unity-sdk/game-club.js.meta index fe466c566..c1397e195 100644 --- a/Runtime/wechat-default/unity-sdk/game-club.js.meta +++ b/Runtime/wechat-default/unity-sdk/game-club.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 3bdf734dff15bece5ceb4ad0a375d2f2 +guid: 486a16851ab0698fb58b67c8c4025c73 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/game-recorder.js.meta b/Runtime/wechat-default/unity-sdk/game-recorder.js.meta index a60d2147a..7bfcee07c 100644 --- a/Runtime/wechat-default/unity-sdk/game-recorder.js.meta +++ b/Runtime/wechat-default/unity-sdk/game-recorder.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 9463b37cc5d24ff4a61b4ea023618d45 +guid: f400d261daf060c8a4342827520a0563 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/gyroscope/index.js.meta b/Runtime/wechat-default/unity-sdk/gyroscope/index.js.meta index 6e070b749..616060776 100644 --- a/Runtime/wechat-default/unity-sdk/gyroscope/index.js.meta +++ b/Runtime/wechat-default/unity-sdk/gyroscope/index.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: fb699da68e27f56324c18dfa2eccb8db +guid: 2f593ff992fb972828f6d5b6a5939f9c DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/index.js.meta b/Runtime/wechat-default/unity-sdk/index.js.meta index e1148a5f1..890338d32 100644 --- a/Runtime/wechat-default/unity-sdk/index.js.meta +++ b/Runtime/wechat-default/unity-sdk/index.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 036483e8b9c930274359a97d07e8fa82 +guid: 6eafa4bab6a14f65cd0da03f31a231a7 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/logger.js.meta b/Runtime/wechat-default/unity-sdk/logger.js.meta index e0c1927f5..84c6fda53 100644 --- a/Runtime/wechat-default/unity-sdk/logger.js.meta +++ b/Runtime/wechat-default/unity-sdk/logger.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 5836201d8b7c23d1172f526a6a04a098 +guid: 350fdb1be1b1908caac9cb1eb1780db2 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/mobileKeyboard/index.js.meta b/Runtime/wechat-default/unity-sdk/mobileKeyboard/index.js.meta index 84c85da4f..df1d76816 100644 --- a/Runtime/wechat-default/unity-sdk/mobileKeyboard/index.js.meta +++ b/Runtime/wechat-default/unity-sdk/mobileKeyboard/index.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 5aba6740bbeaef23d61bb0e157169a43 +guid: 7f5e57123912b5d72b469cde919f52a0 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/module-helper.js.meta b/Runtime/wechat-default/unity-sdk/module-helper.js.meta index 9cb6992e8..68263ae23 100644 --- a/Runtime/wechat-default/unity-sdk/module-helper.js.meta +++ b/Runtime/wechat-default/unity-sdk/module-helper.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 7def32cc32bb4510d94fe9ceaafc1585 +guid: 3417de768f4594dc0c012dc720f588cc DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/open-data.js.meta b/Runtime/wechat-default/unity-sdk/open-data.js.meta index 25df00c8d..115a8bdc4 100644 --- a/Runtime/wechat-default/unity-sdk/open-data.js.meta +++ b/Runtime/wechat-default/unity-sdk/open-data.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: f80c68968dc74fa33388703dbf99fa1b +guid: 90fff997f397f19c863a8da3168b34f2 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/recorder.js.meta b/Runtime/wechat-default/unity-sdk/recorder.js.meta index a1aff002c..f0d9cc1ce 100644 --- a/Runtime/wechat-default/unity-sdk/recorder.js.meta +++ b/Runtime/wechat-default/unity-sdk/recorder.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 1473a6016aab851ed3348b857939734b +guid: 6a94915e277cd271e7827fe014606593 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/resType.js b/Runtime/wechat-default/unity-sdk/resType.js index fbc6da17c..1cc38b161 100644 --- a/Runtime/wechat-default/unity-sdk/resType.js +++ b/Runtime/wechat-default/unity-sdk/resType.js @@ -233,14 +233,6 @@ export const ResType = { GetLogManagerOption: { level: 'number', }, - LoadOption: { - openlink: 'string', - query: 'object', - }, - ShowOption: { - openlink: 'string', - query: 'object', - }, Path2D: {}, OnCheckForUpdateListenerResult: { hasUpdate: 'bool', diff --git a/Runtime/wechat-default/unity-sdk/resType.js.meta b/Runtime/wechat-default/unity-sdk/resType.js.meta index e75d6da24..4978aa826 100644 --- a/Runtime/wechat-default/unity-sdk/resType.js.meta +++ b/Runtime/wechat-default/unity-sdk/resType.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 92bcb7fb2f434e1a5ee0457449535c7d +guid: e336d6e46104797e1dabc16463a32030 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/resTypeOther.js b/Runtime/wechat-default/unity-sdk/resTypeOther.js index 9ca8b5a42..ead21e383 100644 --- a/Runtime/wechat-default/unity-sdk/resTypeOther.js +++ b/Runtime/wechat-default/unity-sdk/resTypeOther.js @@ -86,4 +86,12 @@ export const ResTypeOther = { status: 'number', errMsg: 'string', }, + LoadOption: { + openlink: 'string', + query: 'object', + }, + ShowOption: { + openlink: 'string', + query: 'object', + }, }; diff --git a/Runtime/wechat-default/unity-sdk/resTypeOther.js.meta b/Runtime/wechat-default/unity-sdk/resTypeOther.js.meta index b9535cc6b..2dbec0047 100644 --- a/Runtime/wechat-default/unity-sdk/resTypeOther.js.meta +++ b/Runtime/wechat-default/unity-sdk/resTypeOther.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: a9f511ac779d59e8f321d2623f49259a +guid: 74d7b098305202bf9bed22d642b40823 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/response.js.meta b/Runtime/wechat-default/unity-sdk/response.js.meta index d8f6491b5..822850cc5 100644 --- a/Runtime/wechat-default/unity-sdk/response.js.meta +++ b/Runtime/wechat-default/unity-sdk/response.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 8c6ffb958d353a01027b58de9ae6eaea +guid: 98c81d6e1390cb8bcdd703836551bad7 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/sdk.js b/Runtime/wechat-default/unity-sdk/sdk.js index d1230f719..0c1957ed6 100644 --- a/Runtime/wechat-default/unity-sdk/sdk.js +++ b/Runtime/wechat-default/unity-sdk/sdk.js @@ -23,7 +23,7 @@ function getClassObject(className, id) { // eslint-disable-next-line @typescript-eslint/naming-convention function WX_OneWayNoFunction(functionName, ...params) { - wx[functionName.replace(/^\w/, a => a.toLowerCase())](...params); + wx[functionName.replace(/^\w/, (a) => a.toLowerCase())](...params); } @@ -33,7 +33,7 @@ const onlyReadyResponse = [ ]; // eslint-disable-next-line @typescript-eslint/naming-convention function WX_SyncFunction(functionName, ...params) { - return wx[functionName.replace(/^\w/, a => a.toLowerCase())](...params); + return wx[functionName.replace(/^\w/, (a) => a.toLowerCase())](...params); } // eslint-disable-next-line @typescript-eslint/naming-convention @@ -42,13 +42,22 @@ function WX_ClassOneWayNoFunction(className, functionName, id, ...params) { if (!obj) { return; } - obj[functionName.replace(/^\w/, a => a.toLowerCase())](...params); + obj[functionName.replace(/^\w/, (a) => a.toLowerCase())](...params); +} +function classFormatAndSend(id, callbackId, callbackName, callbackType, resType, res) { + formatResponse(resType, res); + moduleHelper.send(callbackName, classGetMsg(id, callbackId, callbackType, res)); +} +function classGetMsg(id, callbackId, resType, res) { + return JSON.stringify({ + id, callbackId, type: resType, res: JSON.stringify(res) || '', + }); } export default { WX_OneWayFunction(functionName, successType, failType, completeType, conf, callbackId) { - const lowerFunctionName = functionName.replace(/^\w/, a => a.toLowerCase()); + const lowerFunctionName = functionName.replace(/^\w/, (a) => a.toLowerCase()); const config = formatJsonStr(conf); - + // specialJS if (lowerFunctionName === 'login') { if (!config.timeout) { delete config.timeout; @@ -111,7 +120,7 @@ export default { moduleHelper.send(`_${functionName}Callback`, resStr); }; onEventLists[functionName].push(callback); - wx[functionName.replace(/^\w/, a => a.toLowerCase())](callback); + wx[functionName.replace(/^\w/, (a) => a.toLowerCase())](callback); }, WX_OffEventRegister(functionName) { (onEventLists[functionName] || []).forEach((v) => { @@ -225,7 +234,7 @@ export default { }, WX_SyncFunction_t(functionName, returnType) { const res = WX_SyncFunction(functionName); - if (onlyReadyResponse.includes(functionName.replace(/^\w/, a => a.toLowerCase()))) { + if (onlyReadyResponse.includes(functionName.replace(/^\w/, (a) => a.toLowerCase()))) { formatResponse(returnType, JSON.parse(JSON.stringify(res))); return JSON.stringify(res); } @@ -262,10 +271,10 @@ export default { formatResponse(returnType, res); return JSON.stringify(res); }, - WX_ClassOneWayFunction(functionName, returnType, successType, failType, completeType, conf) { + WX_ClassConstructor(functionName, returnType, successType, failType, completeType, conf) { const config = formatJsonStr(conf); const callbackId = uid(); - const obj = wx[functionName.replace(/^\w/, a => a.toLowerCase())]({ + const obj = wx[functionName.replace(/^\w/, (a) => a.toLowerCase())]({ ...config, success(res) { formatResponse(successType, res); @@ -293,7 +302,7 @@ export default { return callbackId; }, WX_ClassFunction(functionName, returnType, option) { - const obj = wx[functionName.replace(/^\w/, a => a.toLowerCase())](formatJsonStr(option)); + const obj = wx[functionName.replace(/^\w/, (a) => a.toLowerCase())](formatJsonStr(option)); const id = uid(); if (!ClassLists[returnType]) { ClassLists[returnType] = {}; @@ -347,10 +356,10 @@ export default { ClassOnEventLists[className + functionName][id + eventName].push(callback); // WXVideoDecoder OnEvent 不规范 特殊处理 if (className === 'WXVideoDecoder') { - obj[functionName.replace(/^\w/, a => a.toLowerCase())](eventName, callback); + obj[functionName.replace(/^\w/, (a) => a.toLowerCase())](eventName, callback); } else { - obj[functionName.replace(/^\w/, a => a.toLowerCase())](callback); + obj[functionName.replace(/^\w/, (a) => a.toLowerCase())](callback); } }, WX_ClassOffEventFunction(className, functionName, id, eventName) { @@ -389,7 +398,7 @@ export default { if (!obj) { return JSON.stringify(formatResponse(returnType)); } - const res = obj[functionName.replace(/^\w/, a => a.toLowerCase())](); + const res = obj[functionName.replace(/^\w/, (a) => a.toLowerCase())](); return JSON.stringify(formatResponse(returnType, res, id)); }, WX_ClassOneWayNoFunction_vt(className, functionName, id, param1) { @@ -399,4 +408,41 @@ export default { WX_ClassOneWayNoFunction_vn(className, functionName, id, param1) { WX_ClassOneWayNoFunction(className, functionName, id, param1); }, + WX_ClassOneWayFunction(className, functionName, id, successType, failType, completeType, conf, callbackId, usePromise = false) { + + const obj = getClassObject(className, id); + if (!obj) { + return; + } + const lowerFunctionName = functionName.replace(/^\w/, (a) => a.toLowerCase()); + const config = formatJsonStr(conf); + + if (usePromise) { + obj[lowerFunctionName]({ + ...config, + }).then((res) => { + classFormatAndSend(id, callbackId, `_${className}${functionName}Callback`, 'success', successType, res); + }) + .catch((res) => { + classFormatAndSend(id, callbackId, `_${className}${functionName}Callback`, 'fail', failType, res); + }) + .finally((res) => { + classFormatAndSend(id, callbackId, `_${className}${functionName}Callback`, 'complete', completeType, res); + }); + } + else { + obj[lowerFunctionName]({ + ...config, + success(res) { + classFormatAndSend(id, callbackId, `_${className}${functionName}Callback`, 'success', successType, res); + }, + fail(res) { + classFormatAndSend(id, callbackId, `_${className}${functionName}Callback`, 'fail', failType, res); + }, + complete(res) { + classFormatAndSend(id, callbackId, `_${className}${functionName}Callback`, 'complete', completeType, res); + }, + }); + } + }, }; diff --git a/Runtime/wechat-default/unity-sdk/sdk.js.meta b/Runtime/wechat-default/unity-sdk/sdk.js.meta index 0ae8b4f32..670eec4d1 100644 --- a/Runtime/wechat-default/unity-sdk/sdk.js.meta +++ b/Runtime/wechat-default/unity-sdk/sdk.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: b55272068d7b3c563110ea1e94729158 +guid: ccf462151b739cf87401831118d91374 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/share.js.meta b/Runtime/wechat-default/unity-sdk/share.js.meta index c0ec61eed..a4127c18e 100644 --- a/Runtime/wechat-default/unity-sdk/share.js.meta +++ b/Runtime/wechat-default/unity-sdk/share.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: c3b28c7b1efcbca27b2e89bcabc23f18 +guid: 23f580c32ea7de856a235e16e726d2ae DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/storage.js.meta b/Runtime/wechat-default/unity-sdk/storage.js.meta index 27791ab21..d900a8e9f 100644 --- a/Runtime/wechat-default/unity-sdk/storage.js.meta +++ b/Runtime/wechat-default/unity-sdk/storage.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: ea93d8289ac7e0bcc93568e252ca1461 +guid: bdcf1af2718caf8977bcb501ca267987 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/texture.js.meta b/Runtime/wechat-default/unity-sdk/texture.js.meta index c2726a724..fee43ee03 100644 --- a/Runtime/wechat-default/unity-sdk/texture.js.meta +++ b/Runtime/wechat-default/unity-sdk/texture.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 43cfdb3f11fe0df24834ca08e4fcd062 +guid: c62ebfa0ed4c5f4f7cfcef4dd29310d8 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/touch/index.js.meta b/Runtime/wechat-default/unity-sdk/touch/index.js.meta index b55bf7c49..5105ff90a 100644 --- a/Runtime/wechat-default/unity-sdk/touch/index.js.meta +++ b/Runtime/wechat-default/unity-sdk/touch/index.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 6e9de555783879979da6a1dbee74c2b7 +guid: aa0c847beb6c8cf6158ebcc338f71596 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/upload-file.js.meta b/Runtime/wechat-default/unity-sdk/upload-file.js.meta index b9dc8622d..4f478a77a 100644 --- a/Runtime/wechat-default/unity-sdk/upload-file.js.meta +++ b/Runtime/wechat-default/unity-sdk/upload-file.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: c2c547699b14f2ff11140fea45879e87 +guid: 7fd4bddcb73cfc087f57b23df884a9e5 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/userinfo.js.meta b/Runtime/wechat-default/unity-sdk/userinfo.js.meta index 420999210..b6df662a6 100644 --- a/Runtime/wechat-default/unity-sdk/userinfo.js.meta +++ b/Runtime/wechat-default/unity-sdk/userinfo.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 5524dc59bf69a55736ac350cf2be210d +guid: 004a8557c751148f93cdc13cf8d08ff3 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/util.js.meta b/Runtime/wechat-default/unity-sdk/util.js.meta index 8feabc47e..220ee56b2 100644 --- a/Runtime/wechat-default/unity-sdk/util.js.meta +++ b/Runtime/wechat-default/unity-sdk/util.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 88dc9a195dd5cf7b36c125815a12b999 +guid: 9a4e647015e4f17a7b0f49b3284edec1 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/utils.js.meta b/Runtime/wechat-default/unity-sdk/utils.js.meta index 730b0eb39..1fff6f3bb 100644 --- a/Runtime/wechat-default/unity-sdk/utils.js.meta +++ b/Runtime/wechat-default/unity-sdk/utils.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 5e8d478392460a6465b2c592e59504e7 +guid: eb088b2262e33b89f9d02da7b6ca53c1 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/video.js.meta b/Runtime/wechat-default/unity-sdk/video.js.meta index eb1a30d7b..043301ec1 100644 --- a/Runtime/wechat-default/unity-sdk/video.js.meta +++ b/Runtime/wechat-default/unity-sdk/video.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 409895e112d9ee547ac78b7a1053ec19 +guid: da8bd5a12fe3e8e266fd53f68004bbc0 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/video/index.js.meta b/Runtime/wechat-default/unity-sdk/video/index.js.meta index 608b8de1f..b054e2b7a 100644 --- a/Runtime/wechat-default/unity-sdk/video/index.js.meta +++ b/Runtime/wechat-default/unity-sdk/video/index.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: b880ab6ba6e12d8ec1276612d12d9e82 +guid: 279add8ff9b7707941d2954376e67055 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/wasmcode/game.js.meta b/Runtime/wechat-default/wasmcode/game.js.meta index 40c4ab1d5..e7ad9e13f 100644 --- a/Runtime/wechat-default/wasmcode/game.js.meta +++ b/Runtime/wechat-default/wasmcode/game.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: d836052adbccd9db621639546b29d7a1 +guid: 940dbcdd0d41d0c52118793990445977 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/weapp-adapter.js.meta b/Runtime/wechat-default/weapp-adapter.js.meta index 0eecea498..c3de88c07 100644 --- a/Runtime/wechat-default/weapp-adapter.js.meta +++ b/Runtime/wechat-default/weapp-adapter.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 105e70381791e1d0e8ce823f53a180f6 +guid: 9ff18e601ff514827305ecbe0ebd8375 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/workers/response/index.js.meta b/Runtime/wechat-default/workers/response/index.js.meta index 44a561bf4..b8b40ae33 100644 --- a/Runtime/wechat-default/workers/response/index.js.meta +++ b/Runtime/wechat-default/workers/response/index.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 2fc76c11ac3383e1b2d80aa6777a11ce +guid: 66bbd344441303625d28a4e0798c5d73 DefaultImporter: externalObjects: {} userData: diff --git a/WebGLTemplates/WXTemplate/index.html b/WebGLTemplates/WXTemplate/index.html index c0ac2da07..180d4b81e 100644 --- a/WebGLTemplates/WXTemplate/index.html +++ b/WebGLTemplates/WXTemplate/index.html @@ -431,7 +431,7 @@ return ""; }, WX_ClassFunction() {return ""}, - WX_ClassOneWayFunction() {return ""}, + WX_ClassConstructor() {return ""}, WX_ClassSetProperty() {}, WX_ClassOneWayNoFunction_v() {}, WX_ClassOneWayNoFunction_vs() {}, diff --git a/WebGLTemplates/WXTemplate2020/index.html b/WebGLTemplates/WXTemplate2020/index.html index 3c6925cc7..c183a6d96 100644 --- a/WebGLTemplates/WXTemplate2020/index.html +++ b/WebGLTemplates/WXTemplate2020/index.html @@ -503,7 +503,7 @@ return ""; }, WX_ClassFunction() {return ""}, - WX_ClassOneWayFunction() {return ""}, + WX_ClassConstructor() {return ""}, WX_ClassSetProperty() {}, WX_ClassOneWayNoFunction_v() {}, WX_ClassOneWayNoFunction_vs() {}, diff --git a/WebGLTemplates/WXTemplate2022/index.html b/WebGLTemplates/WXTemplate2022/index.html index 1f2a2badf..09c3ae63b 100755 --- a/WebGLTemplates/WXTemplate2022/index.html +++ b/WebGLTemplates/WXTemplate2022/index.html @@ -580,7 +580,7 @@ return ""; }, WX_ClassFunction() {return ""}, - WX_ClassOneWayFunction() {return ""}, + WX_ClassConstructor() {return ""}, WX_ClassSetProperty() {}, WX_ClassOneWayNoFunction_v() {}, WX_ClassOneWayNoFunction_vs() {}, diff --git a/package.json b/package.json index 416564650..650163cc4 100644 --- a/package.json +++ b/package.json @@ -1 +1,14 @@ -{"name":"com.qq.weixin.minigame","displayName":"WXSDK","description":"WeChat Mini Game Tuanjie Engine Adapter SDK Package.","version":"0.1.27","unity":"2019.4","unityRelease":"29f1","keywords":["Tuanjie","WX"],"dependencies":{}} +{ + "name": "com.qq.weixin.minigame", + "displayName": "WXSDK", + "description": "WeChat Mini Game Tuanjie Engine Adapter SDK Package.", + "version": "0.1.1", + "unity": "2019.4", + "unityRelease": "29f1", + "keywords": [ + "Tuanjie", + "WX" + ], + "dependencies": { + } +} \ No newline at end of file