diff --git a/Editor/BuildProfile/WeixinMiniGameSettings.cs b/Editor/BuildProfile/WeixinMiniGameSettings.cs new file mode 100644 index 000000000..9cb64e499 --- /dev/null +++ b/Editor/BuildProfile/WeixinMiniGameSettings.cs @@ -0,0 +1,136 @@ +#if TUANJIE_1_4_OR_NEWER +using System; +using System.IO; +using System.Collections; +using System.Collections.Generic; +using System.Reflection; +using UnityEditor; +using UnityEngine; +using UnityEditor.Build.Profile; + +namespace WeChatWASM +{ + public class WeixinMiniGameSettings : MiniGameSettings + { + public WXProjectConf ProjectConf; + public SDKOptions SDKOptions; + public CompileOptions CompileOptions; + public CompressTexture CompressTexture; + public List PlayerPrefsKeys = new List(); + public FontOptions FontOptions; + + [SerializeField] public bool m_AutomaticFillInstantGame = true; + + public WeixinMiniGameSettings(MiniGameSettingsEditor editor) : base(editor) + { + } + + public bool PreprocessBuild(BuildProfile buildProfile, BuildOptions options) + { + bool result = true; + if (!string.IsNullOrEmpty(buildProfile.buildPath)) + { + this.ProjectConf.DST = buildProfile.buildPath; + } + else + { + Debug.LogError("Build Path is empty!"); + result = false; + } + this.CompileOptions.DevelopBuild = buildProfile.platformSettings.development; + this.CompileOptions.AutoProfile = buildProfile.platformSettings.connectProfiler; + + this.CompileOptions.CleanBuild = ((int)options & (int)BuildOptions.CleanBuildCache) != 0; + this.CompileOptions.ScriptOnly = ((int)options & (int)BuildOptions.BuildScriptsOnly) != 0; + + return result; + } + + internal void FillAutoStreamingAutomatically() + { + // Instant Game + if (WXConvertCore.IsInstantGameAutoStreaming()) + { + if (m_AutomaticFillInstantGame) + { + ProjectConf.CDN = WXConvertCore.GetInstantGameAutoStreamingCDN(); + if (!ProjectConf.bundlePathIdentifier.Contains("CUS/CustomAB;")) + { + ProjectConf.bundlePathIdentifier = "CUS/CustomAB;" + ProjectConf.bundlePathIdentifier; + } + if (!ProjectConf.bundlePathIdentifier.Contains("AS;")) + { + ProjectConf.bundlePathIdentifier = "AS;" + ProjectConf.bundlePathIdentifier; + } + ProjectConf.dataFileSubPrefix = "CUS"; + } + } + } + + public static void AutoStreamingLoad() + { + if (!WXConvertCore.IsInstantGameAutoStreaming()) + { + return; + } + + // Generate + Type asTextureUIType = Type.GetType("Unity.AutoStreaming.ASTextureUI,Unity.InstantGame.Editor"); + if (asTextureUIType == null) + { + Debug.LogError("Type 'Unity.AutoStreaming.ASTextureUI' not found. "); + return; + } + MethodInfo generateTextureAssetBundlesMethod = asTextureUIType.GetMethod("GenerateTextureAssetBundles", BindingFlags.NonPublic | BindingFlags.Static); + generateTextureAssetBundlesMethod?.Invoke(null, new object[] { false }); + + // reflection to get WXConvertCore.FirstBundlePath + String FirstBundlePath = ""; + var type = Type.GetType("WeChatWASM.WXConvertCore,WxEditor"); + if (type == null) + { + Debug.LogError("Type 'WeChatWASM.WXConvertCore,WxEditor' not found. "); + return; + } + FieldInfo fieldInfo = type.GetField("FirstBundlePath", BindingFlags.Public | BindingFlags.Static); + if (fieldInfo != null) + { + FirstBundlePath = fieldInfo.GetValue(null) as String; + } + + if (!string.IsNullOrEmpty(FirstBundlePath) && File.Exists(FirstBundlePath)) + { + Type igBuildPipelineType = Type.GetType("Unity.InstantGame.IGBuildPipeline,Unity.InstantGame.Editor"); + if (igBuildPipelineType == null) + { + Debug.LogError("Type 'Unity.InstantGame.IGBuildPipeline' not found. "); + return; + } + MethodInfo uploadMethod = igBuildPipelineType.GetMethod("UploadWeChatDataFile", BindingFlags.Public | BindingFlags.Static); + + bool returnValue = false; + if (uploadMethod != null) + { + object[] parameters = new object[] { FirstBundlePath }; + object result = uploadMethod.Invoke(null, parameters); + returnValue = Convert.ToBoolean(result); + } + + if (returnValue) + { + Debug.Log("转换完成并成功上传首包资源"); + } + else + { + Debug.LogError("首包资源上传失败,请检查网络以及Auto Streaming配置是否正确。"); + } + } + else + { + Debug.LogError("转换失败"); + } + } + + } +} +#endif diff --git a/Editor/BuildProfile/WeixinMiniGameSettings.cs.meta b/Editor/BuildProfile/WeixinMiniGameSettings.cs.meta new file mode 100644 index 000000000..fb8bfb838 --- /dev/null +++ b/Editor/BuildProfile/WeixinMiniGameSettings.cs.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 35f480205054085db3ceb2be04b7e97a +DefaultImporter: +externalObjects: {} +userData: +assetBundleName: +assetBundleVariant: \ No newline at end of file diff --git a/Editor/BuildProfile/WeixinMiniGameSettingsEditor.cs b/Editor/BuildProfile/WeixinMiniGameSettingsEditor.cs new file mode 100644 index 000000000..74b04a5d0 --- /dev/null +++ b/Editor/BuildProfile/WeixinMiniGameSettingsEditor.cs @@ -0,0 +1,586 @@ +#if TUANJIE_1_4_OR_NEWER +using System; +using System.Collections.Generic; +using System.IO; +using System.Reflection; +using UnityEditor; +using UnityEditor.Build.Profile; +using UnityEngine; +using static WeChatWASM.WXConvertCore; + +namespace WeChatWASM +{ + public class WeixinMiniGameSettingsEditor : MiniGameSettingsEditor + { + private Vector2 scrollRoot; + private bool foldBaseInfo = true; + private bool foldLoadingConfig = true; + private bool foldSDKOptions = true; + private bool foldDebugOptions = true; + + private bool foldInstantGame = false; + + private bool foldFontOptions = false; + private Dictionary formInputData = new Dictionary(); + private Dictionary formIntPopupData = new Dictionary(); + private Dictionary formCheckboxData = new Dictionary(); + public Texture tex; + + public override void OnMiniGameSettingsIMGUI(SerializedObject serializedObject, SerializedProperty miniGameProperty) + { + OnSettingsGUI(serializedObject, miniGameProperty); + } + + public void OnSettingsGUI(SerializedObject serializedObject, SerializedProperty miniGameProperty) + { + loadData(serializedObject, miniGameProperty); + + 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)); + + formInput("appid", "游戏AppID"); + formInput("cdn", "游戏资源CDN"); + formInput("projectName", "小游戏项目名"); + formIntPopup("orientation", "游戏方向", new[] { "Portrait", "Landscape", "LandscapeLeft", "LandscapeRight" }, new[] { 0, 1, 2, 3 }); + formInput("memorySize", "UnityHeap预留内存(?)", "单位MB,预分配内存值,超休闲游戏256/中轻度496/重度游戏768,需预估游戏最大UnityHeap值以防止内存自动扩容带来的峰值尖刺。预估方法请查看GIT文档《优化Unity WebGL的内存》"); + + EditorGUILayout.EndVertical(); + } + + foldLoadingConfig = EditorGUILayout.Foldout(foldLoadingConfig, "启动Loading配置"); + if (foldLoadingConfig) + { + EditorGUILayout.BeginVertical("frameBox", GUILayout.ExpandWidth(true)); + + GUILayout.BeginHorizontal(); + string targetBg = "bgImageSrc"; + EditorGUILayout.LabelField(string.Empty, GUILayout.Width(10)); + tex = (Texture)EditorGUILayout.ObjectField("启动背景图/视频封面", tex, typeof(Texture2D), false); + var currentBgSrc = AssetDatabase.GetAssetPath(tex); + if (!string.IsNullOrEmpty(currentBgSrc) && currentBgSrc != formInputData[targetBg]) + { + formInputData[targetBg] = currentBgSrc; + saveData(serializedObject, miniGameProperty); + } + GUILayout.EndHorizontal(); + + formInput("videoUrl", "加载阶段视频URL"); + formIntPopup("assetLoadType", "首包资源加载方式", new[] { "CDN", "小游戏包内" }, new[] { 0, 1 }); + formCheckbox("compressDataPackage", "压缩首包资源(?)", "将首包资源Brotli压缩, 降低资源大小. 注意: 首次启动耗时可能会增加200ms, 仅推荐使用小游戏分包加载时节省包体大小使用"); + formInput("bundleExcludeExtensions", "不自动缓存文件类型(?)", "(使用;分割)当请求url包含资源'cdn+StreamingAssets'时会自动缓存,但StreamingAssets目录下不是所有文件都需缓存,此选项配置不需要自动缓存的文件拓展名。默认值json"); + formInput("bundleHashLength", "Bundle名称Hash长度(?)", "自定义Bundle文件名中hash部分长度,默认值32,用于缓存控制。"); + formInput("preloadFiles", "预下载文件列表(?)", "使用;间隔,支持模糊匹配"); + + EditorGUILayout.EndVertical(); + } + + foldSDKOptions = EditorGUILayout.Foldout(foldSDKOptions, "SDK功能选项"); + if (foldSDKOptions) + { + EditorGUILayout.BeginVertical("frameBox", GUILayout.ExpandWidth(true)); + + formCheckbox("useFriendRelation", "使用好友关系链"); + formCheckbox("useMiniGameChat", "使用社交组件"); + formCheckbox("preloadWXFont", "预加载微信字体(?)", "在game.js执行开始时预载微信系统字体,运行期间可使用WX.GetWXFont获取微信字体"); + formCheckbox("disableMultiTouch", "禁止多点触控"); + + EditorGUILayout.EndVertical(); + } + + foldDebugOptions = EditorGUILayout.Foldout(foldDebugOptions, "调试编译选项"); + if (foldDebugOptions) + { + EditorGUILayout.BeginVertical("frameBox", GUILayout.ExpandWidth(true)); + // formCheckbox("developBuild", "Development Build"); + formCheckbox("autoProfile", "Auto connect Profiler"); + formCheckbox("scriptOnly", "Scripts Only Build"); +#if TUANJIE_2022_3_OR_NEWER + // TODO: if overwrite by OverwritePlayerSettings + bool UseIL2CPP = PlayerSettings.GetScriptingBackend(BuildTargetGroup.WeixinMiniGame) == ScriptingImplementation.IL2CPP; +#else + bool UseIL2CPP = true; +#endif + formCheckbox("il2CppOptimizeSize", "Il2Cpp Optimize Size(?)", "对应于Il2CppCodeGeneration选项,勾选时使用OptimizeSize(默认推荐),生成代码小15%左右,取消勾选则使用OptimizeSpeed。游戏中大量泛型集合的高频访问建议OptimizeSpeed,在使用HybridCLR等第三方组件时只能用OptimizeSpeed。(Dotnet Runtime模式下该选项无效)", !UseIL2CPP); + formCheckbox("profilingFuncs", "Profiling Funcs"); + formCheckbox("profilingMemory", "Profiling Memory"); + + formCheckbox("webgl2", "WebGL2.0(beta)"); + formCheckbox("iOSPerformancePlus", "iOSPerformancePlus(?)", "是否使用iOS高性能+渲染方案,有助于提升渲染兼容性、降低WebContent进程内存"); + formCheckbox("EmscriptenGLX", "EmscriptenGLX(?)", "是否使用EmscriptenGLX渲染方案"); + formCheckbox("iOSMetal", "iOSMetal(?)", "是否使用iOSMetal渲染方案,需要开启iOS高性能+模式,有助于提升运行性能,降低iOS功耗"); + formCheckbox("deleteStreamingAssets", "Clear Streaming Assets"); + formCheckbox("cleanBuild", "Clean WebGL Build"); + // formCheckbox("cleanCloudDev", "Clean Cloud Dev"); + formCheckbox("fbslim", "首包资源优化(?)", "导出时自动清理UnityEditor默认打包但游戏项目从未使用的资源,瘦身首包资源体积。(团结引擎已无需开启该能力)", UnityUtil.GetEngineVersion() > 0, (res) => + { + var fbWin = EditorWindow.GetWindow(typeof(WXFbSettingWindow), false, "首包资源优化配置面板", true); + fbWin.minSize = new Vector2(680, 350); + fbWin.Show(); + }); + formCheckbox("autoAdaptScreen", "自适应屏幕尺寸(?)", "移动端旋转屏幕和PC端拉伸窗口时,自动调整画布尺寸"); + formCheckbox("showMonitorSuggestModal", "显示优化建议弹窗"); + formCheckbox("enableProfileStats", "显示性能面板"); + formCheckbox("enableRenderAnalysis", "显示渲染日志(dev only)"); + + { + formCheckbox("brotliMT", "brotli多线程压缩(?)", "开启多线程压缩可以提高出包速度,但会降低压缩率。如若不使用wasm代码分包请勿用多线程出包上线"); + } + EditorGUILayout.EndVertical(); + } + + if (WXConvertCore.IsInstantGameAutoStreaming()) + { + foldInstantGame = EditorGUILayout.Foldout(foldInstantGame, "Instant Game - AutoStreaming"); + if (foldInstantGame) + { + var automaticfillinstantgame = miniGameProperty.FindPropertyRelative("m_AutomaticFillInstantGame"); + EditorGUILayout.BeginVertical("frameBox", GUILayout.ExpandWidth(true)); + GUILayout.BeginHorizontal(); + EditorGUILayout.LabelField(string.Empty, GUILayout.Width(10)); + formCheckbox("m_AutomaticFillInstantGame", "自动填写AutoStreaming", "仅在开启AutoStreaming生效"); + GUILayout.EndHorizontal(); + formInput("bundlePathIdentifier", "Bundle Path Identifier"); + formInput("dataFileSubPrefix", "Data File Sub Prefix"); + + EditorGUI.BeginDisabledGroup(true); + formCheckbox("autoUploadFirstBundle", "构建后自动上传首包(?)", "仅在开启AutoStreaming生效", true); + EditorGUI.EndDisabledGroup(); + + GUILayout.BeginHorizontal(); + EditorGUILayout.LabelField(string.Empty, GUILayout.Width(10)); + GUILayout.Label(new GUIContent("清理AS配置(?)", "如需关闭AutoStreaming选用默认发布方案则需要清理AS配置项目。"), GUILayout.Width(140)); + EditorGUI.BeginDisabledGroup(WXConvertCore.IsInstantGameAutoStreaming()); + if (GUILayout.Button(new GUIContent("恢复"), GUILayout.Width(60))) + { + var ProjectConf = miniGameProperty.FindPropertyRelative("ProjectConf"); + string identifier = ProjectConf.FindPropertyRelative("bundlePathIdentifier").stringValue; + string[] identifiers = identifier.Split(";"); + string idStr = ""; + foreach (string id in identifiers) + { + if (id != "AS" && id != "CUS/CustomAB") + { + idStr += id + ";"; + } + } + ProjectConf.FindPropertyRelative("bundlePathIdentifier").stringValue = idStr.Trim(';'); + + if (ProjectConf.FindPropertyRelative("dataFileSubPrefix").stringValue == "CUS") + { + ProjectConf.FindPropertyRelative("dataFileSubPrefix").stringValue = ""; + } + loadData(serializedObject, miniGameProperty); + } + EditorGUI.EndDisabledGroup(); + GUILayout.EndHorizontal(); + + EditorGUILayout.BeginHorizontal(); + EditorGUILayout.LabelField(string.Empty); + if (GUILayout.Button(new GUIContent("了解Instant Game AutoStreaming", ""), linkStyle)) + { + Application.OpenURL("https://github.com/wechat-miniprogram/minigame-unity-webgl-transform/blob/main/Design/InstantGameGuide.md"); + } + EditorGUILayout.EndHorizontal(); + EditorGUILayout.EndVertical(); + } + } + + { + foldFontOptions = EditorGUILayout.Foldout(foldFontOptions, "字体配置"); + if (foldFontOptions) + { + EditorGUILayout.BeginVertical("frameBox", GUILayout.ExpandWidth(true)); + formCheckbox("CJK_Unified_Ideographs", "基本汉字(?)", "Unicode [0x4e00, 0x9fff]"); + formCheckbox("C0_Controls_and_Basic_Latin", "基本拉丁语(英文大小写、数字、英文标点)(?)", "Unicode [0x0, 0x7f]"); + formCheckbox("CJK_Symbols_and_Punctuation", "中文标点符号(?)", "Unicode [0x3000, 0x303f]"); + formCheckbox("General_Punctuation", "通用标点符号(?)", "Unicode [0x2000, 0x206f]"); + formCheckbox("Enclosed_CJK_Letters_and_Months", "CJK字母及月份(?)", "Unicode [0x3200, 0x32ff]"); + formCheckbox("Vertical_Forms", "中文竖排标点(?)", "Unicode [0xfe10, 0xfe1f]"); + formCheckbox("CJK_Compatibility_Forms", "CJK兼容符号(?)", "Unicode [0xfe30, 0xfe4f]"); + formCheckbox("Miscellaneous_Symbols", "杂项符号(?)", "Unicode [0x2600, 0x26ff]"); + formCheckbox("CJK_Compatibility", "CJK特殊符号(?)", "Unicode [0x3300, 0x33ff]"); + formCheckbox("Halfwidth_and_Fullwidth_Forms", "全角ASCII、全角中英文标点、半宽片假名、半宽平假名、半宽韩文字母(?)", "Unicode [0xff00, 0xffef]"); + formCheckbox("Dingbats", "装饰符号(?)", "Unicode [0x2700, 0x27bf]"); + formCheckbox("Letterlike_Symbols", "字母式符号(?)", "Unicode [0x2100, 0x214f]"); + formCheckbox("Enclosed_Alphanumerics", "带圈或括号的字母数字(?)", "Unicode [0x2460, 0x24ff]"); + formCheckbox("Number_Forms", "数字形式(?)", "Unicode [0x2150, 0x218f]"); + formCheckbox("Currency_Symbols", "货币符号(?)", "Unicode [0x20a0, 0x20cf]"); + formCheckbox("Arrows", "箭头(?)", "Unicode [0x2190, 0x21ff]"); + formCheckbox("Geometric_Shapes", "几何图形(?)", "Unicode [0x25a0, 0x25ff]"); + formCheckbox("Mathematical_Operators", "数学运算符号(?)", "Unicode [0x2200, 0x22ff]"); + formInput("CustomUnicode", "自定义Unicode(?)", "将填入的所有字符强制加入字体预加载列表"); + EditorGUILayout.EndVertical(); + } + } + + EditorGUILayout.EndScrollView(); + saveData(serializedObject, miniGameProperty); + } + + private void loadData(SerializedObject serializedObject, SerializedProperty miniGameProperty) + { + serializedObject.UpdateIfRequiredOrScript(); + var ProjectConf = miniGameProperty.FindPropertyRelative("ProjectConf"); + + // Instant Game + if (WXConvertCore.IsInstantGameAutoStreaming()) + { + var automaticfillinstantgame = miniGameProperty.FindPropertyRelative("m_AutomaticFillInstantGame"); + if (automaticfillinstantgame.boolValue) + { + ProjectConf.FindPropertyRelative("CDN").stringValue = WXConvertCore.GetInstantGameAutoStreamingCDN(); + if (!ProjectConf.FindPropertyRelative("bundlePathIdentifier").stringValue.Contains("AS;")) + { + ProjectConf.FindPropertyRelative("bundlePathIdentifier").stringValue += "AS;"; + } + if (!ProjectConf.FindPropertyRelative("bundlePathIdentifier").stringValue.Contains("CUS/CustomAB;")) + { + ProjectConf.FindPropertyRelative("bundlePathIdentifier").stringValue += "CUS/CustomAB;"; + } + ProjectConf.FindPropertyRelative("dataFileSubPrefix").stringValue = "CUS"; + } + } + + setData("projectName", ProjectConf.FindPropertyRelative("projectName").stringValue); + setData("appid", ProjectConf.FindPropertyRelative("Appid").stringValue); + setData("cdn", ProjectConf.FindPropertyRelative("CDN").stringValue); + setData("assetLoadType", ProjectConf.FindPropertyRelative("assetLoadType").intValue); + setData("compressDataPackage", ProjectConf.FindPropertyRelative("compressDataPackage").boolValue); + setData("videoUrl", ProjectConf.FindPropertyRelative("VideoUrl").stringValue); + setData("orientation", (int)ProjectConf.FindPropertyRelative("Orientation").enumValueIndex); + //setData("dst", ProjectConf.FindPropertyRelative("relativeDST").stringValue); + setData("bundleHashLength", ProjectConf.FindPropertyRelative("bundleHashLength").intValue.ToString()); + setData("bundlePathIdentifier", ProjectConf.FindPropertyRelative("bundlePathIdentifier").stringValue); + setData("bundleExcludeExtensions", ProjectConf.FindPropertyRelative("bundleExcludeExtensions").stringValue); + setData("preloadFiles", ProjectConf.FindPropertyRelative("preloadFiles").stringValue); + + var CompileOptions = miniGameProperty.FindPropertyRelative("CompileOptions"); + // setData("developBuild", CompileOptions.FindPropertyRelative("DevelopBuild").boolValue); + setData("autoProfile", CompileOptions.FindPropertyRelative("AutoProfile").boolValue); + setData("scriptOnly", CompileOptions.FindPropertyRelative("ScriptOnly").boolValue); + setData("il2CppOptimizeSize", CompileOptions.FindPropertyRelative("Il2CppOptimizeSize").boolValue); + setData("profilingFuncs", CompileOptions.FindPropertyRelative("profilingFuncs").boolValue); + setData("profilingMemory", CompileOptions.FindPropertyRelative("ProfilingMemory").boolValue); + setData("deleteStreamingAssets", CompileOptions.FindPropertyRelative("DeleteStreamingAssets").boolValue); + setData("cleanBuild", CompileOptions.FindPropertyRelative("CleanBuild").boolValue); + setData("customNodePath", CompileOptions.FindPropertyRelative("CustomNodePath").stringValue); + setData("webgl2", CompileOptions.FindPropertyRelative("Webgl2").boolValue); + setData("iOSPerformancePlus", CompileOptions.FindPropertyRelative("enableIOSPerformancePlus").boolValue); + setData("iOSMetal", CompileOptions.FindPropertyRelative("enableiOSMetal").boolValue); + setData("EmscriptenGLX", CompileOptions.FindPropertyRelative("enableEmscriptenGLX").boolValue); + setData("fbslim", CompileOptions.FindPropertyRelative("fbslim").boolValue); + + var SDKOptions = miniGameProperty.FindPropertyRelative("SDKOptions"); + setData("useFriendRelation", SDKOptions.FindPropertyRelative("UseFriendRelation").boolValue); + setData("useMiniGameChat", SDKOptions.FindPropertyRelative("UseMiniGameChat").boolValue); + setData("preloadWXFont", SDKOptions.FindPropertyRelative("PreloadWXFont").boolValue); + setData("disableMultiTouch", SDKOptions.FindPropertyRelative("disableMultiTouch").boolValue); + setData("bgImageSrc", ProjectConf.FindPropertyRelative("bgImageSrc").stringValue); + tex = AssetDatabase.LoadAssetAtPath(ProjectConf.FindPropertyRelative("bgImageSrc").stringValue); + setData("memorySize", ProjectConf.FindPropertyRelative("MemorySize").intValue.ToString()); + setData("hideAfterCallMain", ProjectConf.FindPropertyRelative("HideAfterCallMain").boolValue); + + setData("dataFileSubPrefix", ProjectConf.FindPropertyRelative("dataFileSubPrefix").stringValue); + setData("maxStorage", ProjectConf.FindPropertyRelative("maxStorage").intValue.ToString()); + setData("defaultReleaseSize", ProjectConf.FindPropertyRelative("defaultReleaseSize").intValue.ToString()); + setData("texturesHashLength", ProjectConf.FindPropertyRelative("texturesHashLength").intValue.ToString()); + setData("texturesPath", ProjectConf.FindPropertyRelative("texturesPath").stringValue); + setData("needCacheTextures", ProjectConf.FindPropertyRelative("needCacheTextures").boolValue); + setData("loadingBarWidth", ProjectConf.FindPropertyRelative("loadingBarWidth").intValue.ToString()); + setData("needCheckUpdate", ProjectConf.FindPropertyRelative("needCheckUpdate").boolValue); + setData("disableHighPerformanceFallback", ProjectConf.FindPropertyRelative("disableHighPerformanceFallback").boolValue); + setData("autoAdaptScreen", CompileOptions.FindPropertyRelative("autoAdaptScreen").boolValue); + setData("showMonitorSuggestModal", CompileOptions.FindPropertyRelative("showMonitorSuggestModal").boolValue); + setData("enableProfileStats", CompileOptions.FindPropertyRelative("enableProfileStats").boolValue); + setData("enableRenderAnalysis", CompileOptions.FindPropertyRelative("enableRenderAnalysis").boolValue); + setData("brotliMT", CompileOptions.FindPropertyRelative("brotliMT").boolValue); + setData("autoUploadFirstBundle", true); + setData("m_AutomaticFillInstantGame", miniGameProperty.FindPropertyRelative("m_AutomaticFillInstantGame").boolValue); + + // font options + var FontOptions = miniGameProperty.FindPropertyRelative("FontOptions"); + setData("CJK_Unified_Ideographs", FontOptions.FindPropertyRelative("CJK_Unified_Ideographs").boolValue); + setData("C0_Controls_and_Basic_Latin", FontOptions.FindPropertyRelative("C0_Controls_and_Basic_Latin").boolValue); + setData("CJK_Symbols_and_Punctuation", FontOptions.FindPropertyRelative("CJK_Symbols_and_Punctuation").boolValue); + setData("General_Punctuation", FontOptions.FindPropertyRelative("General_Punctuation").boolValue); + setData("Enclosed_CJK_Letters_and_Months", FontOptions.FindPropertyRelative("Enclosed_CJK_Letters_and_Months").boolValue); + setData("Vertical_Forms", FontOptions.FindPropertyRelative("Vertical_Forms").boolValue); + setData("CJK_Compatibility_Forms", FontOptions.FindPropertyRelative("CJK_Compatibility_Forms").boolValue); + setData("Miscellaneous_Symbols", FontOptions.FindPropertyRelative("Miscellaneous_Symbols").boolValue); + setData("CJK_Compatibility", FontOptions.FindPropertyRelative("CJK_Compatibility").boolValue); + setData("Halfwidth_and_Fullwidth_Forms", FontOptions.FindPropertyRelative("Halfwidth_and_Fullwidth_Forms").boolValue); + setData("Dingbats", FontOptions.FindPropertyRelative("Dingbats").boolValue); + setData("Letterlike_Symbols", FontOptions.FindPropertyRelative("Letterlike_Symbols").boolValue); + setData("Enclosed_Alphanumerics", FontOptions.FindPropertyRelative("Enclosed_Alphanumerics").boolValue); + setData("Number_Forms", FontOptions.FindPropertyRelative("Number_Forms").boolValue); + setData("Currency_Symbols", FontOptions.FindPropertyRelative("Currency_Symbols").boolValue); + setData("Arrows", FontOptions.FindPropertyRelative("Arrows").boolValue); + setData("Geometric_Shapes", FontOptions.FindPropertyRelative("Geometric_Shapes").boolValue); + setData("Mathematical_Operators", FontOptions.FindPropertyRelative("Mathematical_Operators").boolValue); + setData("CustomUnicode", FontOptions.FindPropertyRelative("CustomUnicode").stringValue); + } + + private void saveData(SerializedObject serializedObject, SerializedProperty miniGameProperty) + { + serializedObject.UpdateIfRequiredOrScript(); + + var ProjectConf = miniGameProperty.FindPropertyRelative("ProjectConf"); + ProjectConf.FindPropertyRelative("projectName").stringValue = getDataInput("projectName"); + ProjectConf.FindPropertyRelative("Appid").stringValue = getDataInput("appid"); + ProjectConf.FindPropertyRelative("CDN").stringValue = getDataInput("cdn"); + ProjectConf.FindPropertyRelative("assetLoadType").intValue = getDataPop("assetLoadType"); + ProjectConf.FindPropertyRelative("compressDataPackage").boolValue = getDataCheckbox("compressDataPackage"); + ProjectConf.FindPropertyRelative("VideoUrl").stringValue = getDataInput("videoUrl"); + ProjectConf.FindPropertyRelative("Orientation").enumValueIndex = getDataPop("orientation"); + ProjectConf.FindPropertyRelative("relativeDST").stringValue = serializedObject.FindProperty("m_BuildPath").stringValue; + ProjectConf.FindPropertyRelative("DST").stringValue = GetAbsolutePath(config.ProjectConf.relativeDST); + + ProjectConf.FindPropertyRelative("bundleHashLength").intValue = int.Parse(getDataInput("bundleHashLength")); + ProjectConf.FindPropertyRelative("bundlePathIdentifier").stringValue = getDataInput("bundlePathIdentifier"); + ProjectConf.FindPropertyRelative("bundleExcludeExtensions").stringValue = getDataInput("bundleExcludeExtensions"); + ProjectConf.FindPropertyRelative("preloadFiles").stringValue = getDataInput("preloadFiles"); + + var CompileOptions = miniGameProperty.FindPropertyRelative("CompileOptions"); + + CompileOptions.FindPropertyRelative("DevelopBuild").boolValue = serializedObject.FindProperty("m_PlatformSettings").FindPropertyRelative("m_Development").boolValue; + CompileOptions.FindPropertyRelative("AutoProfile").boolValue = getDataCheckbox("autoProfile"); + CompileOptions.FindPropertyRelative("ScriptOnly").boolValue = getDataCheckbox("scriptOnly"); + CompileOptions.FindPropertyRelative("Il2CppOptimizeSize").boolValue = getDataCheckbox("il2CppOptimizeSize"); + CompileOptions.FindPropertyRelative("profilingFuncs").boolValue = getDataCheckbox("profilingFuncs"); + CompileOptions.FindPropertyRelative("ProfilingMemory").boolValue = getDataCheckbox("profilingMemory"); + CompileOptions.FindPropertyRelative("DeleteStreamingAssets").boolValue = getDataCheckbox("deleteStreamingAssets"); + CompileOptions.FindPropertyRelative("CleanBuild").boolValue = getDataCheckbox("cleanBuild"); + CompileOptions.FindPropertyRelative("CustomNodePath").stringValue = getDataInput("customNodePath"); + CompileOptions.FindPropertyRelative("Webgl2").boolValue = getDataCheckbox("webgl2"); + CompileOptions.FindPropertyRelative("enableIOSPerformancePlus").boolValue = getDataCheckbox("iOSPerformancePlus"); + CompileOptions.FindPropertyRelative("enableiOSMetal").boolValue = getDataCheckbox("iOSMetal"); + CompileOptions.FindPropertyRelative("enableEmscriptenGLX").boolValue = getDataCheckbox("EmscriptenGLX"); + CompileOptions.FindPropertyRelative("fbslim").boolValue = getDataCheckbox("fbslim"); + + var SDKOptions = miniGameProperty.FindPropertyRelative("SDKOptions"); + SDKOptions.FindPropertyRelative("UseFriendRelation").boolValue = getDataCheckbox("useFriendRelation"); + SDKOptions.FindPropertyRelative("UseMiniGameChat").boolValue = getDataCheckbox("useMiniGameChat"); + SDKOptions.FindPropertyRelative("PreloadWXFont").boolValue = getDataCheckbox("preloadWXFont"); + SDKOptions.FindPropertyRelative("disableMultiTouch").boolValue = getDataCheckbox("disableMultiTouch"); + ProjectConf.FindPropertyRelative("bgImageSrc").stringValue = getDataInput("bgImageSrc"); + ProjectConf.FindPropertyRelative("MemorySize").intValue = int.Parse(getDataInput("memorySize")); + ProjectConf.FindPropertyRelative("HideAfterCallMain").boolValue = getDataCheckbox("hideAfterCallMain"); + ProjectConf.FindPropertyRelative("dataFileSubPrefix").stringValue = getDataInput("dataFileSubPrefix"); + ProjectConf.FindPropertyRelative("maxStorage").intValue = int.Parse(getDataInput("maxStorage")); + ProjectConf.FindPropertyRelative("defaultReleaseSize").intValue = int.Parse(getDataInput("defaultReleaseSize")); + ProjectConf.FindPropertyRelative("texturesHashLength").intValue = int.Parse(getDataInput("texturesHashLength")); + ProjectConf.FindPropertyRelative("texturesPath").stringValue = getDataInput("texturesPath"); + ProjectConf.FindPropertyRelative("needCacheTextures").boolValue = getDataCheckbox("needCacheTextures"); + ProjectConf.FindPropertyRelative("loadingBarWidth").intValue = int.Parse(getDataInput("loadingBarWidth")); + ProjectConf.FindPropertyRelative("needCheckUpdate").boolValue = getDataCheckbox("needCheckUpdate"); + ProjectConf.FindPropertyRelative("disableHighPerformanceFallback").boolValue = getDataCheckbox("disableHighPerformanceFallback"); + CompileOptions.FindPropertyRelative("autoAdaptScreen").boolValue = getDataCheckbox("autoAdaptScreen"); + CompileOptions.FindPropertyRelative("showMonitorSuggestModal").boolValue = getDataCheckbox("showMonitorSuggestModal"); + CompileOptions.FindPropertyRelative("enableProfileStats").boolValue = getDataCheckbox("enableProfileStats"); + CompileOptions.FindPropertyRelative("enableRenderAnalysis").boolValue = getDataCheckbox("enableRenderAnalysis"); + CompileOptions.FindPropertyRelative("brotliMT").boolValue = getDataCheckbox("brotliMT"); + + // font options + var FontOptions = miniGameProperty.FindPropertyRelative("FontOptions"); + FontOptions.FindPropertyRelative("CJK_Unified_Ideographs").boolValue = getDataCheckbox("CJK_Unified_Ideographs"); + FontOptions.FindPropertyRelative("C0_Controls_and_Basic_Latin").boolValue = getDataCheckbox("C0_Controls_and_Basic_Latin"); + FontOptions.FindPropertyRelative("CJK_Symbols_and_Punctuation").boolValue = getDataCheckbox("CJK_Symbols_and_Punctuation"); + FontOptions.FindPropertyRelative("General_Punctuation").boolValue = getDataCheckbox("General_Punctuation"); + FontOptions.FindPropertyRelative("Enclosed_CJK_Letters_and_Months").boolValue = getDataCheckbox("Enclosed_CJK_Letters_and_Months"); + FontOptions.FindPropertyRelative("Vertical_Forms").boolValue = getDataCheckbox("Vertical_Forms"); + FontOptions.FindPropertyRelative("CJK_Compatibility_Forms").boolValue = getDataCheckbox("CJK_Compatibility_Forms"); + FontOptions.FindPropertyRelative("Miscellaneous_Symbols").boolValue = getDataCheckbox("Miscellaneous_Symbols"); + FontOptions.FindPropertyRelative("CJK_Compatibility").boolValue = getDataCheckbox("CJK_Compatibility"); + FontOptions.FindPropertyRelative("Halfwidth_and_Fullwidth_Forms").boolValue = getDataCheckbox("Halfwidth_and_Fullwidth_Forms"); + FontOptions.FindPropertyRelative("Dingbats").boolValue = getDataCheckbox("Dingbats"); + FontOptions.FindPropertyRelative("Letterlike_Symbols").boolValue = getDataCheckbox("Letterlike_Symbols"); + FontOptions.FindPropertyRelative("Enclosed_Alphanumerics").boolValue = getDataCheckbox("Enclosed_Alphanumerics"); + FontOptions.FindPropertyRelative("Number_Forms").boolValue = getDataCheckbox("Number_Forms"); + FontOptions.FindPropertyRelative("Currency_Symbols").boolValue = getDataCheckbox("Currency_Symbols"); + FontOptions.FindPropertyRelative("Arrows").boolValue = getDataCheckbox("Arrows"); + FontOptions.FindPropertyRelative("Geometric_Shapes").boolValue = getDataCheckbox("Geometric_Shapes"); + FontOptions.FindPropertyRelative("Mathematical_Operators").boolValue = getDataCheckbox("Mathematical_Operators"); + FontOptions.FindPropertyRelative("CustomUnicode").stringValue = getDataInput("CustomUnicode"); + FontOptions.FindPropertyRelative("Arrows").boolValue = getDataCheckbox("Arrows"); + FontOptions.FindPropertyRelative("Geometric_Shapes").boolValue = getDataCheckbox("Geometric_Shapes"); + FontOptions.FindPropertyRelative("Mathematical_Operators").boolValue = getDataCheckbox("Mathematical_Operators"); + FontOptions.FindPropertyRelative("CustomUnicode").stringValue = getDataInput("CustomUnicode"); + + miniGameProperty.FindPropertyRelative("m_AutomaticFillInstantGame").boolValue = getDataCheckbox("m_AutomaticFillInstantGame"); + + serializedObject.ApplyModifiedProperties(); + } + + private bool getDataCheckbox(string target) + { + if (formCheckboxData.ContainsKey(target)) + return formCheckboxData[target]; + return false; + } + + private string getDataInput(string target) + { + if (formInputData.ContainsKey(target)) + return formInputData[target]; + return ""; + } + + private int getDataPop(string target) + { + if (formIntPopupData.ContainsKey(target)) + return formIntPopupData[target]; + return 0; + } + + 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 formCheckbox(string target, string label, string help = null, bool disable = false, Action setting = 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); + formCheckboxData[target] = EditorGUILayout.Toggle(disable ? false : formCheckboxData[target]); + + 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 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; + } + string projectRootPath = System.IO.Path.GetFullPath(Application.dataPath + "/../"); + return Path.Combine(projectRootPath, path); + } + } +} +#endif diff --git a/Editor/BuildProfile/WeixinMiniGameSettingsEditor.cs.meta b/Editor/BuildProfile/WeixinMiniGameSettingsEditor.cs.meta new file mode 100644 index 000000000..e15f7db37 --- /dev/null +++ b/Editor/BuildProfile/WeixinMiniGameSettingsEditor.cs.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: df4d545d2ba5ed176543212d06fd4afd +DefaultImporter: +externalObjects: {} +userData: +assetBundleName: +assetBundleVariant: \ No newline at end of file diff --git a/Editor/BuildProfile/WeixinSubplatformInterface.cs b/Editor/BuildProfile/WeixinSubplatformInterface.cs new file mode 100644 index 000000000..d3dbd00cb --- /dev/null +++ b/Editor/BuildProfile/WeixinSubplatformInterface.cs @@ -0,0 +1,183 @@ +#if TUANJIE_1_4_OR_NEWER +using System; +using System.Collections; +using System.Collections.Generic; +using System.IO; +using UnityEditor; +using UnityEditor.Build.Profile; +using UnityEngine; +using UnityEngine.Rendering; + + +namespace WeChatWASM +{ + [InitializeOnLoad] + public static class WeixinSubTargetManager + { + static WeixinSubTargetManager() + { + MiniGameSubplatformManager.RegisterSubplatform(new WeixinSubplatformInterface()); + } + } + + public class WeixinSubplatformInterface : MiniGameSubplatformInterface + { + class CacheConfig + { + public WXProjectConf ProjectConf; + public SDKOptions SDKOptions; + public CompileOptions CompileOptions; + public CompressTexture CompressTexture; + public List PlayerPrefsKeys = new List(); + public FontOptions FontOptions; + } + + private CacheConfig cacheConfig = new CacheConfig(); + + public override string GetSubplatformName() + { + return "WeChat:微信小游戏"; + } + + public override MiniGameSettings GetSubplatformSettings() + { + return new WeixinMiniGameSettings(new WeixinMiniGameSettingsEditor()); + } + + public override BuildMiniGameError Build(BuildProfile buildProfile) + { + // Useless + return BuildMiniGameError.InvalidInput; + } + + public override BuildMiniGameError Build(BuildProfile buildProfile, BuildOptions options) + { + + var bcLibPath = Path.GetFullPath(Path.Combine("Packages", "com.qq.weixin.minigame", "Editor", "BuildProfile", "lib", "libwx-metal-cpp.bc")); + var jsLibPath = Path.GetFullPath(Path.Combine("Packages", "com.qq.weixin.minigame", "Editor", "BuildProfile", "lib", "mtl_library.jslib")); + string libPath = bcLibPath + ';' + jsLibPath; + EditorUtility.SetMiniGameGfxLibraryPath(libPath); + + WeixinMiniGameSettings settings = buildProfile.miniGameSettings as WeixinMiniGameSettings; + + BuildMiniGameError buildMiniGameError = BuildMiniGameError.Unknown; + bool preprocessSuccess = WechatBuildPreprocess(buildProfile); + if (!preprocessSuccess) + { + return BuildMiniGameError.InvalidInput; + } + + if (settings is not null) + { + settings.FillAutoStreamingAutomatically(); + if (settings.PreprocessBuild(buildProfile, options)) + { + + var error = CallDoExport(buildProfile); + int enumIntValue = Convert.ToInt32(error); + switch (enumIntValue) + { + case 0: // SUCCEED + { + WeixinMiniGameSettings.AutoStreamingLoad(); + buildMiniGameError = BuildMiniGameError.Succeeded; + break; + } + case 2: // BUILD_WEBGL_FAILED + { + buildMiniGameError = BuildMiniGameError.PlayerBuildFailed; + break; + } + case 1: // NODE_NOT_FOUND + default: + { + buildMiniGameError = BuildMiniGameError.Unknown; + break; + } + } + } + } + BuildPostProcess(buildProfile); + return buildMiniGameError; + } + + private bool WechatBuildPreprocess(BuildProfile buildProfile) + { + // Check GFX API and Color Space + if (buildProfile != null) + { + PlayerSettings playerSettings = buildProfile.playerSettings; + // Global PlayerSettings + ColorSpace colorSpace = PlayerSettings.colorSpace; + GraphicsDeviceType[] apis = PlayerSettings.GetGraphicsAPIs(buildProfile.buildTarget); + bool isAutomatic = PlayerSettings.GetUseDefaultGraphicsAPIs(buildProfile.buildTarget); + + if (playerSettings != null) + { + // BuildProfile PlayerSettings Override + colorSpace = PlayerSettings.GetColorSpace_Internal(playerSettings); + apis = PlayerSettings.GetGraphicsAPIs_Internal(playerSettings, buildProfile.buildTarget); + isAutomatic = PlayerSettings.GetUseDefaultGraphicsAPIs_Internal(playerSettings, buildProfile.buildTarget); + + // set override templatePath + var absolutePath = Path.GetFullPath(Path.Combine("Packages", "com.qq.weixin.minigame", "WebGLTemplates/WXTemplate2022TJ")); + if (!Directory.Exists(absolutePath)) + absolutePath = Path.GetFullPath(Path.Combine(Application.dataPath, "WebGLTemplates/WXTemplate2022TJ")); + + if (Directory.Exists(absolutePath)) + PlayerSettings.MiniGame.SetTemplatePath_Internal(playerSettings, $"PATH:{absolutePath}"); + + PlayerSettings.MiniGame.SetThreadsSupport_Internal(playerSettings, false); + PlayerSettings.MiniGame.SetCompressionFormat_Internal(playerSettings, MiniGameCompressionFormat.Disabled); + PlayerSettings.MiniGame.SetLinkerTarget_Internal(playerSettings, MiniGameLinkerTarget.Wasm); + PlayerSettings.MiniGame.SetDataCaching_Internal(playerSettings, false); + PlayerSettings.MiniGame.SetDebugSymbolMode_Internal(playerSettings, MiniGameDebugSymbolMode.External); + PlayerSettings.SetRunInBackground_Internal(playerSettings, false); + } + return true; + } + else + { + throw new InvalidOperationException("Build profile has not been initialized."); + } + } + + private WXConvertCore.WXExportError CallDoExport(BuildProfile buildProfile) + { + WXEditorScriptObject config = UnityUtil.GetEditorConf(); + cacheConfig.ProjectConf = config.ProjectConf; + cacheConfig.SDKOptions = config.SDKOptions; + cacheConfig.CompileOptions = config.CompileOptions; + cacheConfig.CompressTexture = config.CompressTexture; + cacheConfig.PlayerPrefsKeys = config.PlayerPrefsKeys; + cacheConfig.FontOptions = config.FontOptions; + + WeixinMiniGameSettings weixinSettings = buildProfile.miniGameSettings as WeixinMiniGameSettings; + config.ProjectConf = weixinSettings.ProjectConf; + config.SDKOptions = weixinSettings.SDKOptions; + config.CompileOptions = weixinSettings.CompileOptions; + config.CompressTexture = weixinSettings.CompressTexture; + config.PlayerPrefsKeys = weixinSettings.PlayerPrefsKeys; + config.FontOptions = weixinSettings.FontOptions; + EditorUtility.SetDirty(config); + AssetDatabase.SaveAssets(); + return WXConvertCore.DoExport(); + } + + private void BuildPostProcess(BuildProfile buildProfile) + { + // Restore the original settings + WXEditorScriptObject config = UnityUtil.GetEditorConf(); + config.ProjectConf = cacheConfig.ProjectConf; + config.SDKOptions = cacheConfig.SDKOptions; + config.CompileOptions = cacheConfig.CompileOptions; + config.CompressTexture = cacheConfig.CompressTexture; + config.PlayerPrefsKeys = cacheConfig.PlayerPrefsKeys; + config.FontOptions = cacheConfig.FontOptions; + EditorUtility.SetDirty(config); + AssetDatabase.SaveAssets(); + } + + } +} +#endif diff --git a/Editor/BuildProfile/WeixinSubplatformInterface.cs.meta b/Editor/BuildProfile/WeixinSubplatformInterface.cs.meta new file mode 100644 index 000000000..67130b0d1 --- /dev/null +++ b/Editor/BuildProfile/WeixinSubplatformInterface.cs.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 0b4df61ea34a9bc4c89a8e8b93455bd6 +DefaultImporter: +externalObjects: {} +userData: +assetBundleName: +assetBundleVariant: \ No newline at end of file diff --git a/Editor/BuildProfile/lib/libwx-metal-cpp.bc b/Editor/BuildProfile/lib/libwx-metal-cpp.bc index d8b6c6577..2a8e5683e 100644 Binary files a/Editor/BuildProfile/lib/libwx-metal-cpp.bc and b/Editor/BuildProfile/lib/libwx-metal-cpp.bc differ diff --git a/Editor/WXConvertCore.cs b/Editor/WXConvertCore.cs index 0f2033df1..b43838284 100644 --- a/Editor/WXConvertCore.cs +++ b/Editor/WXConvertCore.cs @@ -221,6 +221,9 @@ namespace WeChatWASM { var rootPath = Directory.GetParent(Application.dataPath).FullName; string webglDir = WXExtEnvDef.GETDEF("WEIXINMINIGAME") ? "WeixinMiniGame" : "WebGL"; +#if PLATFORM_PLAYABLEADS + webglDir = "PlayableAds"; +#endif symFile1 = Path.Combine(rootPath, "Library", "Bee", "artifacts", webglDir, "build", "debug_WebGL_wasm", "build.js.symbols"); } WeChatWASM.UnityUtil.preprocessSymbols(symFile1, GetWebGLSymbolPath()); @@ -346,7 +349,9 @@ namespace WeChatWASM { // WxPerfJsBridge.jslib var wxPerfJSBridgeImporter = AssetImporter.GetAtPath(wxPerfPlugins[0]) as PluginImporter; -#if PLATFORM_WEIXINMINIGAME +#if PLATFORM_PLAYABLEADS + wxPerfJSBridgeImporter.SetCompatibleWithPlatform(BuildTarget.PlayableAds, config.CompileOptions.enablePerfAnalysis); +#elif PLATFORM_WEIXINMINIGAME wxPerfJSBridgeImporter.SetCompatibleWithPlatform(BuildTarget.WeixinMiniGame, config.CompileOptions.enablePerfAnalysis); #else wxPerfJSBridgeImporter.SetCompatibleWithPlatform(BuildTarget.WebGL, config.CompileOptions.enablePerfAnalysis); @@ -359,7 +364,10 @@ namespace WeChatWASM bool bShouldEnablePerf2022Plugin = config.CompileOptions.enablePerfAnalysis && IsCompatibleWithUnity202203OrNewer(); var wxPerf2022Importer = AssetImporter.GetAtPath(wxPerfPlugins[1]) as PluginImporter; -#if PLATFORM_WEIXINMINIGAME + +#if PLATFORM_PLAYABLEADS + wxPerf2022Importer.SetCompatibleWithPlatform(BuildTarget.PlayableAds, bShouldEnablePerf2022Plugin); +#elif PLATFORM_WEIXINMINIGAME wxPerf2022Importer.SetCompatibleWithPlatform(BuildTarget.WeixinMiniGame, bShouldEnablePerf2022Plugin); #else wxPerf2022Importer.SetCompatibleWithPlatform(BuildTarget.WebGL, bShouldEnablePerf2022Plugin); @@ -372,7 +380,9 @@ namespace WeChatWASM bool bShouldEnablePerf2021Plugin = config.CompileOptions.enablePerfAnalysis && IsCompatibleWithUnity202102To202203(); var wxPerf2021Importer = AssetImporter.GetAtPath(wxPerfPlugins[2]) as PluginImporter; -#if PLATFORM_WEIXINMINIGAME +#if PLATFORM_PLAYABLEADS + wxPerf2021Importer.SetCompatibleWithPlatform(BuildTarget.PlayableAds, bShouldEnablePerf2021Plugin); +#elif PLATFORM_WEIXINMINIGAME wxPerf2021Importer.SetCompatibleWithPlatform(BuildTarget.WeixinMiniGame, bShouldEnablePerf2021Plugin); #else wxPerf2021Importer.SetCompatibleWithPlatform(BuildTarget.WebGL, bShouldEnablePerf2021Plugin); @@ -572,7 +582,9 @@ namespace WeChatWASM Debug.LogError("Lua Adaptor Importer Not Found: " + maybeBuildFile); continue; } -#if PLATFORM_WEIXINMINIGAME +#if PLATFORM_PLAYABLEADS + wxPerfJSBridgeImporter.SetCompatibleWithPlatform(BuildTarget.PlayableAds, shouldBuild); +#elif PLATFORM_WEIXINMINIGAME wxPerfJSBridgeImporter.SetCompatibleWithPlatform(BuildTarget.WeixinMiniGame, shouldBuild); #else wxPerfJSBridgeImporter.SetCompatibleWithPlatform(BuildTarget.WebGL, shouldBuild); @@ -622,7 +634,12 @@ namespace WeChatWASM else { #if TUANJIE_2022_3_OR_NEWER - EditorUserBuildSettings.SwitchActiveBuildTarget(BuildTargetGroup.WeixinMiniGame, BuildTarget.WeixinMiniGame); + if(EditorUserBuildSettings.activeBuildTarget != BuildTarget.WeixinMiniGame +#if PLATFORM_PLAYABLEADS + && EditorUserBuildSettings.activeBuildTarget != BuildTarget.PlayableAds +#endif + ) + EditorUserBuildSettings.SwitchActiveBuildTarget(BuildTargetGroup.WeixinMiniGame, BuildTarget.WeixinMiniGame); #endif } Emit(LifeCycle.afterSwitchActiveBuildTarget); @@ -1095,7 +1112,11 @@ namespace WeChatWASM } #endif #if TUANJIE_2022_3_OR_NEWER - if (EditorUserBuildSettings.activeBuildTarget != BuildTarget.WeixinMiniGame) + if (EditorUserBuildSettings.activeBuildTarget != BuildTarget.WeixinMiniGame +#if PLATFORM_PLAYABLEADS + && EditorUserBuildSettings.activeBuildTarget != BuildTarget.PlayableAds +#endif + ) { UnityEngine.Debug.LogFormat("[Builder] Current target is: {0}, switching to: {1}", EditorUserBuildSettings.activeBuildTarget, BuildTarget.WeixinMiniGame); if (!EditorUserBuildSettings.SwitchActiveBuildTarget(BuildTargetGroup.WeixinMiniGame, BuildTarget.WeixinMiniGame)) @@ -1106,8 +1127,11 @@ namespace WeChatWASM } var projDir = Path.Combine(config.ProjectConf.DST, webglDir); - +#if PLATFORM_PLAYABLEADS + var result = BuildPipeline.BuildPlayer(GetScenePaths(), projDir, BuildTarget.PlayableAds, option); +#else var result = BuildPipeline.BuildPlayer(GetScenePaths(), projDir, BuildTarget.WeixinMiniGame, option); +#endif if (result.summary.result != UnityEditor.Build.Reporting.BuildResult.Succeeded) { UnityEngine.Debug.LogFormat("[Builder] BuildPlayer failed. emscriptenArgs:{0}", PlayerSettings.WeixinMiniGame.emscriptenArgs); @@ -2246,7 +2270,9 @@ namespace WeChatWASM { var importer = AssetImporter.GetAtPath(jsLibs[i]) as PluginImporter; bool value = i == index; -#if PLATFORM_WEIXINMINIGAME +#if PLATFORM_PLAYABLEADS + importer.SetCompatibleWithPlatform(BuildTarget.PlayableAds, value); +#elif PLATFORM_WEIXINMINIGAME importer.SetCompatibleWithPlatform(BuildTarget.WeixinMiniGame, value); #else importer.SetCompatibleWithPlatform(BuildTarget.WebGL, value); diff --git a/Editor/WXEditorSettingHelper.cs b/Editor/WXEditorSettingHelper.cs index 21ccfe2d2..c6f91baae 100644 --- a/Editor/WXEditorSettingHelper.cs +++ b/Editor/WXEditorSettingHelper.cs @@ -186,7 +186,7 @@ namespace WeChatWASM this.formCheckbox("webgl2", "WebGL2.0"); this.formCheckbox("iOSPerformancePlus", "iOSPerformancePlus(?)", "是否使用iOS高性能+渲染方案,有助于提升渲染兼容性、降低WebContent进程内存"); this.formCheckbox("EmscriptenGLX", "EmscriptenGLX(?)", "是否使用EmscriptenGLX渲染方案"); - // this.formCheckbox("iOSMetal", "iOSMetal(?)", "是否使用iOSMetal渲染方案,需要开启iOS高性能+模式,有助于提升运行性能,降低iOS功耗"); + 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"); diff --git a/Editor/WXPluginVersion.cs b/Editor/WXPluginVersion.cs index 9f4575455..c48e8308e 100644 --- a/Editor/WXPluginVersion.cs +++ b/Editor/WXPluginVersion.cs @@ -2,7 +2,7 @@ namespace WeChatWASM { public class WXPluginVersion { - public static string pluginVersion = "202509160800"; // 这一行不要改他,导出的时候会自动替换 + public static string pluginVersion = "202510170916"; // 这一行不要改他,导出的时候会自动替换 } public class WXPluginConf diff --git a/Editor/wx-editor.dll b/Editor/wx-editor.dll index 53a65c708..2a63a1ddf 100644 Binary files a/Editor/wx-editor.dll and b/Editor/wx-editor.dll differ diff --git a/Editor/wx-editor.xml.meta b/Editor/wx-editor.xml.meta index 2cfd0e4e4..17884d7ba 100644 --- a/Editor/wx-editor.xml.meta +++ b/Editor/wx-editor.xml.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 785f17acd70f11683ea185abb2b70992 +guid: cd3c25e0d380518aff674d2df1f40cbe DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/DisableKeyboardInput.cs b/Runtime/DisableKeyboardInput.cs index fa300352b..a0cc2330e 100644 --- a/Runtime/DisableKeyboardInput.cs +++ b/Runtime/DisableKeyboardInput.cs @@ -10,7 +10,9 @@ internal class DisableKeyboardInput : MonoBehaviour private static void OnGameLaunch() { #if !UNITY_EDITOR -#if PLATFORM_WEIXINMINIGAME +#if PLATFORM_PLAYABLEADS + PlayableAdsInput.mobileKeyboardSupport = false; +#elif PLATFORM_WEIXINMINIGAME WeixinMiniGameInput.mobileKeyboardSupport = false; #elif PLATFORM_WEBGL #if UNITY_2022_1_OR_NEWER diff --git a/Runtime/Plugins/SDK-Call-JS-Old.jslib b/Runtime/Plugins/SDK-Call-JS-Old.jslib index b22e40206..09d9ec303 100755 --- a/Runtime/Plugins/SDK-Call-JS-Old.jslib +++ b/Runtime/Plugins/SDK-Call-JS-Old.jslib @@ -627,9 +627,6 @@ mergeInto(LibraryManager.library, { stringToUTF8(returnStr, buffer, bufferSize); return buffer; }, - WXSetSyncReadCacheEnabled: function(enabled) { - window.WXWASMSDK.WXSetSyncReadCacheEnabled(enabled); - }, WXGetPluginCachePath: function() { var returnStr = window.WXWASMSDK.WXGetPluginCachePath(); var bufferSize = lengthBytesUTF8(returnStr || '') + 1; diff --git a/Runtime/Plugins/WXAssetBundle.jslib b/Runtime/Plugins/WXAssetBundle.jslib index 9dadd9368..30fa916c2 100644 --- a/Runtime/Plugins/WXAssetBundle.jslib +++ b/Runtime/Plugins/WXAssetBundle.jslib @@ -51,6 +51,7 @@ var WXAssetBundleLibrary = { WXFS.msg = ""; WXFS.fd2wxStream = new Map; WXFS.path2fd = new Map; + WXFS.refRecord = new Map; WXFS.fs = wx.getFileSystemManager(); WXFS.nowfd = FS.MAX_OPEN_FDS + 1; WXFS.isWXAssetBundle = function(url){ @@ -308,6 +309,9 @@ var WXAssetBundleLibrary = { } if(!WXFS.disk.has(path)){ WXFS.disk.set(path, 0); + WXFS.refRecord.set(path, 1); + } else { + WXFS.refRecord.set(path, WXFS.refRecord.get(path) + 1); } return true; }, @@ -315,11 +319,17 @@ var WXAssetBundleLibrary = { UnloadbyPath: function (ptr) { var path = WXFS.url2path(UTF8ToString(ptr)); var fd = WXFS.path2fd.get(path); - if(WXFS.cache.has(fd)){ - WXFS.cache.delete(fd); - } - if(WXFS.disk.has(path)){ - WXFS.disk.delete(path); + var refCount = WXFS.refRecord.get(path); + if(!refCount) return; + refCount -= 1; + WXFS.refRecord.set(path, refCount); + if(!refCount){ + if(WXFS.cache.has(fd)){ + WXFS.cache.delete(fd); + } + if(WXFS.disk.has(path)){ + WXFS.disk.delete(path); + } } }, diff --git a/Runtime/Plugins/libemscriptenglx.a b/Runtime/Plugins/libemscriptenglx.a index 772e45021..30c9ac8d6 100644 Binary files a/Runtime/Plugins/libemscriptenglx.a and b/Runtime/Plugins/libemscriptenglx.a differ diff --git a/Runtime/Plugins/libemscriptenglx_2021.a b/Runtime/Plugins/libemscriptenglx_2021.a index 2bec41e32..145e16a5f 100644 Binary files a/Runtime/Plugins/libemscriptenglx_2021.a and b/Runtime/Plugins/libemscriptenglx_2021.a differ diff --git a/Runtime/Plugins/wx-perf.dll.meta b/Runtime/Plugins/wx-perf.dll.meta index 01f86625f..99b128da8 100644 --- a/Runtime/Plugins/wx-perf.dll.meta +++ b/Runtime/Plugins/wx-perf.dll.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: ffcf22f69c45d4919a04626e60e86c20 +guid: f0cbdcf50f6d52cea758f1ea825443c0 PluginImporter: externalObjects: {} serializedVersion: 2 @@ -7,21 +7,68 @@ PluginImporter: executionOrder: {} defineConstraints: [] isPreloaded: 0 - isOverridable: 0 + isOverridable: 1 isExplicitlyReferenced: 0 validateReferences: 1 platformData: + - first: + : Any + second: + enabled: 0 + settings: + Exclude Editor: 0 + Exclude Linux64: 1 + Exclude OSXUniversal: 1 + Exclude WebGL: 0 + Exclude Win: 1 + Exclude Win64: 1 - first: Any: second: - enabled: 1 + enabled: 0 settings: {} - first: Editor: Editor + second: + enabled: 1 + settings: + CPU: AnyCPU + DefaultValueInitialized: true + OS: AnyOS + - first: + Standalone: Linux64 second: enabled: 0 settings: - DefaultValueInitialized: true + CPU: None + - first: + Standalone: OSXUniversal + second: + enabled: 0 + settings: + CPU: None + - first: + Standalone: Win + second: + enabled: 0 + settings: + CPU: None + - first: + Standalone: Win64 + second: + enabled: 0 + settings: + CPU: None + - first: + WebGL: WebGL + second: + enabled: 1 + settings: {} + - first: + WeixinMiniGame: WeixinMiniGame + second: + enabled: 1 + settings: {} - first: Windows Store Apps: WindowsStoreApps second: diff --git a/Runtime/WX.cs b/Runtime/WX.cs index 9261cb09f..0049afc2d 100644 --- a/Runtime/WX.cs +++ b/Runtime/WX.cs @@ -276,6 +276,16 @@ namespace WeChatWASM WXSDKManagerHandler.Instance.CreateBLEPeripheralServer(callback); } + /// + /// [wx.exitChatTool(Object object)](https://developers.weixin.qq.com/minigame/dev/api/chattool/wx.exitChatTool.html) + /// 需要基础库: `3.7.12` + /// 退出聊天工具模式 + /// + public static void ExitChatTool(ExitChatToolOption callback) + { + WXSDKManagerHandler.Instance.ExitChatTool(callback); + } + /// /// [wx.exitMiniProgram(Object object)](https://developers.weixin.qq.com/minigame/dev/api/navigate/wx.exitMiniProgram.html) /// 需要基础库: `2.17.3` @@ -511,6 +521,45 @@ namespace WeChatWASM WXSDKManagerHandler.Instance.GetChannelsLiveNoticeInfo(callback); } + /// + /// [wx.getChatToolInfo(Object object)](https://developers.weixin.qq.com/minigame/dev/api/chattool/wx.getChatToolInfo.html) + /// 需要基础库: `3.7.12` + /// 获取聊天工具模式下的群聊信息。 + /// 需要注意的是,单聊群和多聊群下返回的群唯一标识是不同的。 + /// 1. 多聊群下返回 opengid + /// 2. 单聊群下返回 open_single_roomid + /// 同时将返回用户在群(含单聊)下的唯一标识 group_openid。 + /// **示例代码** + /// ```js + /// wx.getChatToolInfo({ + /// success(res) { + /// // res + /// { + /// errMsg: 'getChatToolInfo:ok', + /// encryptedData: '', + /// iv: '' + /// } + /// }, + /// fail() { + /// } + /// }) + /// ``` + /// 敏感数据有两种获取方式,一是使用 [加密数据解密算法](https://developers.weixin.qq.com/minigame/dev/guide/open-ability/signature.html#加密数据解密算法) 。 + /// 获取得到的开放数据为以下 json 结构(其中 opengid 为当前群的唯一标识): + /// ```json + /// { + /// "opengid": "OPENGID", // 多聊群下返回的群唯一标识 + /// "open_single_roomid": "", // 单聊群下返回的群唯一标识 + /// "group_openid": "", // 用户在当前群的唯一标识 + /// "chat_type": 3, // 聊天室类型 + /// } + /// ``` + /// + public static void GetChatToolInfo(GetChatToolInfoOption callback) + { + WXSDKManagerHandler.Instance.GetChatToolInfo(callback); + } + /// /// [wx.getClipboardData(Object object)](https://developers.weixin.qq.com/minigame/dev/api/device/clipboard/wx.getClipboardData.html) /// 需要基础库: `1.1.0` @@ -641,6 +690,16 @@ namespace WeChatWASM WXSDKManagerHandler.Instance.GetGameClubData(callback); } + /// + /// [wx.getGameExptInfo(Object object)](https://developers.weixin.qq.com/minigame/dev/api/data-analysis/wx.getGameExptInfo.html) + /// 需要基础库: `3.8.8` + /// 给定实验参数数组,获取对应的实验参数值 + /// + public static void GetGameExptInfo(GetGameExptInfoOption callback) + { + WXSDKManagerHandler.Instance.GetGameExptInfo(callback); + } + /// /// [wx.getGroupEnterInfo(Object object)](https://developers.weixin.qq.com/minigame/dev/api/open-api/group/wx.getGroupEnterInfo.html) /// 需要基础库: `2.10.4` @@ -683,6 +742,16 @@ namespace WeChatWASM WXSDKManagerHandler.Instance.GetGroupEnterInfo(callback); } + /// + /// [wx.getGroupMembersInfo(Object object)](https://developers.weixin.qq.com/minigame/dev/api/open-api/data/wx.getGroupMembersInfo.html) + /// 需要基础库: `3.7.12` + /// 获取所选群成员的头像、昵称,自行在开放数据域中渲染 + /// + public static void GetGroupMembersInfo(GetGroupMembersInfoOption callback) + { + WXSDKManagerHandler.Instance.GetGroupMembersInfo(callback); + } + /// /// [wx.getInferenceEnvInfo(Object object)](https://developers.weixin.qq.com/minigame/dev/api/ai/inference/wx.getInferenceEnvInfo.html) /// 需要基础库: `2.30.1` @@ -847,27 +916,6 @@ namespace WeChatWASM WXSDKManagerHandler.Instance.GetSetting(callback); } - /// - /// [wx.getShareInfo(Object object)](https://developers.weixin.qq.com/minigame/dev/api/share/wx.getShareInfo.html) - /// 需要基础库: `1.1.0` - /// 获取转发详细信息(主要是获取群ID)。 从群聊内的小程序消息卡片打开小程序时,调用此接口才有效。从基础库 v2.17.3 开始,推荐用 [wx.getGroupEnterInfo](https://developers.weixin.qq.com/minigame/dev/api/open-api/group/wx.getGroupEnterInfo.html) 替代此接口。 - /// **示例代码** - /// 敏感数据获取方式 [加密数据解密算法](https://developers.weixin.qq.com/minigame/dev/guide/open-ability/signature.html#加密数据解密算法) 。 - /// 获取得到的开放数据为以下 json 结构(其中 openGId 为当前群的唯一标识): - /// ```json - /// { - /// "openGId": "OPENGID" - /// } - /// ``` - /// **Tips** - /// - 如需要展示群名称,小程序可以使用 [开放数据组件](https://developers.weixin.qq.com/minigame/dev/guide/open-ability/open-data.html) - /// - 小游戏可以通过 [`wx.getGroupInfo`](https://developers.weixin.qq.com/minigame/dev/api/open-api/data/wx.getGroupInfo.html) 接口获取群名称 - /// - public static void GetShareInfo(GetShareInfoOption callback) - { - WXSDKManagerHandler.Instance.GetShareInfo(callback); - } - /// /// [wx.getShowSplashAdStatus(Object object)](https://developers.weixin.qq.com/minigame/dev/api/ad/wx.getShowSplashAdStatus.html) /// 需要基础库: `3.7.8` @@ -1272,6 +1320,16 @@ namespace WeChatWASM WXSDKManagerHandler.Instance.NotifyBLECharacteristicValueChange(callback); } + /// + /// [wx.notifyGroupMembers(Object object)](https://developers.weixin.qq.com/minigame/dev/api/chattool/wx.notifyGroupMembers.html) + /// 需要基础库: `3.7.12` + /// 提醒用户完成任务,标题长度不超过 30 个字符,支持中英文和数字,中文算2个字符。 + /// + public static void NotifyGroupMembers(NotifyGroupMembersOption callback) + { + WXSDKManagerHandler.Instance.NotifyGroupMembers(callback); + } + /// /// [wx.openAppAuthorizeSetting(Object object)](https://developers.weixin.qq.com/minigame/dev/api/base/system/wx.openAppAuthorizeSetting.html) /// 需要基础库: `2.25.3` @@ -1383,6 +1441,19 @@ namespace WeChatWASM WXSDKManagerHandler.Instance.OpenChannelsUserProfile(callback); } + /// + /// [wx.openChatTool(Object object)](https://developers.weixin.qq.com/minigame/dev/api/chattool/wx.openChatTool.html) + /// 需要基础库: `3.7.12` + /// 进入聊天工具模式。 + /// 1. 不传入聊天室id时,微信会拉起聊天列表让用户选择,用户选择后绑定聊天室进入聊天工具模式。 + /// 2. 传入聊天室id时(群聊为opengid,单聊为open_single_roomid),会直接绑定该聊天室进入,此时必须传入对应的 chatType。 + /// 3. 聊天室类型可从 [[getGroupEnterInfo]](https://developers.weixin.qq.com/minigame/dev/api/open-api/group/wx.getGroupEnterInfo.html) 返回值中获取。 + /// + public static void OpenChatTool(OpenChatToolOption callback) + { + WXSDKManagerHandler.Instance.OpenChatTool(callback); + } + /// /// [wx.openCustomerServiceChat(Object object)](https://developers.weixin.qq.com/minigame/dev/api/open-api/service-chat/wx.openCustomerServiceChat.html) /// 需要基础库: `2.30.4` @@ -1906,6 +1977,25 @@ namespace WeChatWASM WXSDKManagerHandler.Instance.ScanCode(callback); } + /// + /// [wx.selectGroupMembers(Object object)](https://developers.weixin.qq.com/minigame/dev/api/chattool/wx.selectGroupMembers.html) + /// 需要基础库: `3.7.12` + /// 选择聊天室的成员,并返回选择成员的 group_openid。若当前为群聊,则会拉起成员选择器;若当前为单聊,则直接返回双方的 group_openid。 + /// **** + /// ```js + /// wx.selectGroupMembers({ + /// maxSelectCount: 3, + /// success(res) { + /// // res.members + /// } + /// }) + /// ``` + /// + public static void SelectGroupMembers(SelectGroupMembersOption callback) + { + WXSDKManagerHandler.Instance.SelectGroupMembers(callback); + } + /// /// [wx.setBLEMTU(Object object)](https://developers.weixin.qq.com/minigame/dev/api/device/bluetooth-ble/wx.setBLEMTU.html) /// 需要基础库: `2.11.0` @@ -2068,6 +2158,56 @@ namespace WeChatWASM WXSDKManagerHandler.Instance.SetVisualEffectOnCapture(callback); } + /// + /// [wx.shareAppMessageToGroup(Object object)](https://developers.weixin.qq.com/minigame/dev/api/chattool/wx.shareAppMessageToGroup.html) + /// 需要基础库: `3.7.12` + /// 转发小程序卡片到聊天 + /// + public static void ShareAppMessageToGroup(ShareAppMessageToGroupOption callback) + { + WXSDKManagerHandler.Instance.ShareAppMessageToGroup(callback); + } + + /// + /// [wx.shareEmojiToGroup(Object object)](https://developers.weixin.qq.com/minigame/dev/api/chattool/wx.shareEmojiToGroup.html) + /// 需要基础库: `3.7.12` + /// 转发表情到聊天 + /// + public static void ShareEmojiToGroup(ShareEmojiToGroupOption callback) + { + WXSDKManagerHandler.Instance.ShareEmojiToGroup(callback); + } + + /// + /// [wx.shareImageToGroup(Object object)](https://developers.weixin.qq.com/minigame/dev/api/chattool/wx.shareImageToGroup.html) + /// 需要基础库: `3.7.12` + /// 转发图片到聊天 + /// + public static void ShareImageToGroup(ShareImageToGroupOption callback) + { + WXSDKManagerHandler.Instance.ShareImageToGroup(callback); + } + + /// + /// [wx.shareTextToGroup(Object object)](https://developers.weixin.qq.com/minigame/dev/api/chattool/wx.shareTextToGroup.html) + /// 需要基础库: `3.7.12` + /// 转发文本到聊天 + /// + public static void ShareTextToGroup(ShareTextToGroupOption callback) + { + WXSDKManagerHandler.Instance.ShareTextToGroup(callback); + } + + /// + /// [wx.shareVideoToGroup(Object object)](https://developers.weixin.qq.com/minigame/dev/api/chattool/wx.shareVideoToGroup.html) + /// 需要基础库: `3.7.12` + /// 转发视频到聊天 + /// + public static void ShareVideoToGroup(ShareVideoToGroupOption callback) + { + WXSDKManagerHandler.Instance.ShareVideoToGroup(callback); + } + /// /// [wx.showActionSheet(Object object)](https://developers.weixin.qq.com/minigame/dev/api/ui/interaction/wx.showActionSheet.html) /// 显示操作菜单 @@ -2578,6 +2718,16 @@ namespace WeChatWASM WXSDKManagerHandler.Instance.ExitPointerLock(); } + /// + /// [wx.isChatTool()](https://developers.weixin.qq.com/minigame/dev/api/chattool/wx.isChatTool.html) + /// 需要基础库: `3.7.12` + /// 是否处于聊天工具模式 + /// + public static void IsChatTool() + { + WXSDKManagerHandler.Instance.IsChatTool(); + } + /// /// [wx.removeStorageSync(string key)](https://developers.weixin.qq.com/minigame/dev/api/storage/wx.removeStorageSync.html) /// [wx.removeStorage](https://developers.weixin.qq.com/minigame/dev/api/storage/wx.removeStorage.html) 的同步版本 @@ -2667,23 +2817,6 @@ namespace WeChatWASM WXSDKManagerHandler.Instance.RevokeBufferURL(url); } - /// - /// [wx.setStorageSync(string key, any data)](https://developers.weixin.qq.com/minigame/dev/api/storage/wx.setStorageSync.html) - /// 将数据存储在本地缓存中指定的 key 中。会覆盖掉原来该 key 对应的内容。除非用户主动删除或因存储空间原因被系统清理,否则数据都一直可用。单个 key 允许存储的最大数据长度为 1MB,所有数据存储上限为 10MB。 - /// **注意** - /// storage 应只用来进行数据的持久化存储,不应用于运行时的数据传递或全局状态管理。启动过程中过多的同步读写存储,会显著影响启动耗时。 - /// **示例代码** - /// ```js - /// try { - /// wx.setStorageSync('key', 'value') - /// } catch (e) { } - /// ``` - /// - public static void SetStorageSync(string key, T data) - { - WXSDKManagerHandler.Instance.SetStorageSync(key, data); - } - /// /// [wx.shareAppMessage(Object object)](https://developers.weixin.qq.com/minigame/dev/api/share/wx.shareAppMessage.html) /// 主动拉起转发,进入选择通讯录界面。 @@ -2992,12 +3125,12 @@ namespace WeChatWASM /// [wx.onError(function listener)](https://developers.weixin.qq.com/minigame/dev/api/base/app/app-event/wx.onError.html) /// 监听全局错误事件 /// - public static void OnError(Action error) + public static void OnError(Action error) { WXSDKManagerHandler.Instance.OnError(error); } - public static void OffError(Action error) + public static void OffError(Action error) { WXSDKManagerHandler.Instance.OffError(error); } @@ -3274,6 +3407,28 @@ namespace WeChatWASM WXSDKManagerHandler.Instance.OffNetworkWeakChange(result); } + /// + /// [wx.onOfficialComponentsInfoChange(function listener)](https://developers.weixin.qq.com/minigame/dev/api/ui/menu/wx.onOfficialComponentsInfoChange.html) + /// 需要基础库: `3.7.12` + /// 监听官方组件信息变化事件 + /// **示例代码** + /// ```js + /// const callback = res => console.log('officialComponentsInfoChange', res) + /// wx.onOfficialComponentsInfoChange(callback) + /// // 取消监听 + /// wx.offOfficialComponentsInfoChange(callback) + /// ``` + /// + public static void OnOfficialComponentsInfoChange(Action result) + { + WXSDKManagerHandler.Instance.OnOfficialComponentsInfoChange(result); + } + + public static void OffOfficialComponentsInfoChange(Action result) + { + WXSDKManagerHandler.Instance.OffOfficialComponentsInfoChange(result); + } + /// /// [wx.onScreenRecordingStateChanged(function listener)](https://developers.weixin.qq.com/minigame/dev/api/device/screen/wx.onScreenRecordingStateChanged.html) /// 需要基础库: `3.1.4` @@ -3455,10 +3610,25 @@ namespace WeChatWASM WXSDKManagerHandler.Instance.OffWindowResize(result); } + /// + /// [wx.onWindowStateChange(function listener)](https://developers.weixin.qq.com/minigame/dev/api/ui/window/wx.onWindowStateChange.html) + /// 需要基础库: `3.8.8` + /// 监听小程序窗口状态变化事件。仅适用于 PC 平台 + /// + public static void OnWindowStateChange(Action result) + { + WXSDKManagerHandler.Instance.OnWindowStateChange(result); + } + + public static void OffWindowStateChange(Action result) + { + WXSDKManagerHandler.Instance.OffWindowStateChange(result); + } + /// /// [wx.onAddToFavorites(function listener)](https://developers.weixin.qq.com/minigame/dev/api/share/wx.onAddToFavorites.html) /// 需要基础库: `2.10.3` - /// 监听用户点击菜单「收藏」按钮时触发的事件(安卓7.0.15起支持,iOS 暂不支持) + /// 监听用户点击菜单「收藏」按钮时触发的事件 /// public static void OnAddToFavorites(Action> callback) { @@ -3769,6 +3939,30 @@ namespace WeChatWASM return WXSDKManagerHandler.GetMenuButtonBoundingClientRect(); } + /// + /// [Object wx.getOfficialComponentsInfo()](https://developers.weixin.qq.com/minigame/dev/api/ui/menu/wx.getOfficialComponentsInfo.html) + /// 需要基础库: `3.7.12` + /// 获取所有官方组件的相关信息 + /// **示例代码** + /// ```js + /// const componentsInfo = wx.getOfficialComponentsInfo(); + /// const { notificationComponentInfo } = componentsInfo; + /// if (notificationComponentInfo.isShow) { + /// console.log(notificationComponentInfo.boundingClientRect.width); + /// console.log(notificationComponentInfo.boundingClientRect.height); + /// console.log(notificationComponentInfo.boundingClientRect.top); + /// console.log(notificationComponentInfo.boundingClientRect.left); + /// console.log(notificationComponentInfo.boundingClientRect.bottom); + /// console.log(notificationComponentInfo.boundingClientRect.right); + /// } + /// ``` + /// + /// + public static OfficialComponentsInfo GetOfficialComponentsInfo() + { + return WXSDKManagerHandler.GetOfficialComponentsInfo(); + } + /// /// [Object wx.getStorageInfoSync()](https://developers.weixin.qq.com/minigame/dev/api/storage/wx.getStorageInfoSync.html) /// [wx.getStorageInfo](https://developers.weixin.qq.com/minigame/dev/api/storage/wx.getStorageInfo.html) 的同步版本 diff --git a/Runtime/WXBase.cs b/Runtime/WXBase.cs index 2ff47d7ab..836dd9d00 100644 --- a/Runtime/WXBase.cs +++ b/Runtime/WXBase.cs @@ -766,16 +766,6 @@ namespace WeChatWASM return WXSDKManagerHandler.Instance.GetCachePath(url); } - /// - /// 临时修复安卓在主线程繁忙时,异步读缓存耗时高,但需关注同步读文件可能导致掉帧 - /// 仅在有需要的情况下主动开启,需要同步读的场景完成后再主动关闭 - /// - /// - public static void SetSyncReadCacheEnabled(bool enabled) - { - WXSDKManagerHandler.Instance.SetSyncReadCacheEnabled(enabled); - } - #endregion /// @@ -1147,6 +1137,7 @@ namespace WeChatWASM } #endregion +#region PageManager /// /// [[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` @@ -1172,6 +1163,22 @@ namespace WeChatWASM { return WXSDKManagerHandler.Instance.CreatePageManager(); } +#endregion + +#region 上报 + /// + public static WXMiniReportManager GetMiniReportManager(GetMiniReportManagerParam param) + { + return WXSDKManagerHandler.Instance.GetMiniReportManager(param); + } +#endregion + +#region 社交特色能力 + public static WXRankManager GetRankManager() { + return WXSDKManagerHandler.Instance.GetRankManager(); + } } } +#endregion + #endif diff --git a/Runtime/WXTouchInputOverride.cs b/Runtime/WXTouchInputOverride.cs index dc7ca2b6d..82a963b51 100644 --- a/Runtime/WXTouchInputOverride.cs +++ b/Runtime/WXTouchInputOverride.cs @@ -149,7 +149,9 @@ public class WXTouchInputOverride : BaseInput Text text = selectedObject.GetComponent(); if (text != null) { -#if PLATFORM_WEIXINMINIGAME +#if PLATFORM_PLAYABLEADS + PlayableAdsInput.mobileKeyboardSupport = true; +#elif PLATFORM_WEIXINMINIGAME WeixinMiniGameInput.mobileKeyboardSupport = true; #elif PLATFORM_WEBGL #if UNITY_2022_1_OR_NEWER @@ -159,7 +161,9 @@ public class WXTouchInputOverride : BaseInput } else { -#if PLATFORM_WEIXINMINIGAME +#if PLATFORM_PLAYABLEADS + PlayableAdsInput.mobileKeyboardSupport = false; +#elif PLATFORM_WEIXINMINIGAME WeixinMiniGameInput.mobileKeyboardSupport = false; #elif PLATFORM_WEBGL #if UNITY_2022_1_OR_NEWER diff --git a/Runtime/playable-default/check-version.js.meta b/Runtime/playable-default/check-version.js.meta index 0899dc7d5..790c179dd 100644 --- a/Runtime/playable-default/check-version.js.meta +++ b/Runtime/playable-default/check-version.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 - guid: 2612d39a2adf9a6014127cd39e6b3407 + guid: 1bb53c590d0ad78cfcdf9ab0e8489671 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/data-package.meta b/Runtime/playable-default/data-package.meta index d8186dff9..a6fd7060e 100644 --- a/Runtime/playable-default/data-package.meta +++ b/Runtime/playable-default/data-package.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 9db32e7236ff03460e55a764bffa846f +guid: 098088f7d8070f9c1684de9a919dc8a9 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Runtime/playable-default/data-package/game.js.meta b/Runtime/playable-default/data-package/game.js.meta index 61a6e8222..20b0cfb92 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: db9548343468a2e8dde2f89e151158aa + guid: 6a5d81c91b615a1d14735268dfbc82e1 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/events.js.meta b/Runtime/playable-default/events.js.meta index 90ff2e8eb..9c51f9b55 100644 --- a/Runtime/playable-default/events.js.meta +++ b/Runtime/playable-default/events.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 - guid: da96340677c85a07609fc9ccdb2fdf24 + guid: ecd6c8b593c6800ae9f932e049a0a6e3 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/game.js.meta b/Runtime/playable-default/game.js.meta index 9e6b17c72..48594a761 100644 --- a/Runtime/playable-default/game.js.meta +++ b/Runtime/playable-default/game.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 - guid: 745f86b07dbcdd56ff62b3681ffce1c9 + guid: 03712e26c1294e31d97895ded32a252e DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/game.json.meta b/Runtime/playable-default/game.json.meta index fa6f1bd77..0d1da099e 100644 --- a/Runtime/playable-default/game.json.meta +++ b/Runtime/playable-default/game.json.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 - guid: 2744a3804c0377e30a5b0c5d51db2f6b + guid: a3626ce42985e1b4d35d9aafbe237fa4 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/playable-fix.js.meta b/Runtime/playable-default/playable-fix.js.meta index f6071b4aa..603dda98e 100644 --- a/Runtime/playable-default/playable-fix.js.meta +++ b/Runtime/playable-default/playable-fix.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 - guid: 2af611a65a2f1bbf650bd9c1d10b1aa5 + guid: e31b65ff6eb9ccacf4668c6b5aa10ed1 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/plugin-config.js.meta b/Runtime/playable-default/plugin-config.js.meta index cbac3cc17..800bc6fea 100644 --- a/Runtime/playable-default/plugin-config.js.meta +++ b/Runtime/playable-default/plugin-config.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 - guid: b24e6e83b8de92590a80f407d3fe3d86 + guid: 039c9c5a09ede2acae062298df40cd71 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/plugins.meta b/Runtime/playable-default/plugins.meta index e0e2b8263..21ed375ce 100644 --- a/Runtime/playable-default/plugins.meta +++ b/Runtime/playable-default/plugins.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: c87d2375a205f8546f74f0d50655013d +guid: 0bedad02fdc5e85ffda1183c42c97aea folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Runtime/playable-default/plugins/check-update.js.meta b/Runtime/playable-default/plugins/check-update.js.meta index ffcd1cdea..295fa386f 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: 95aafc6e2a2de80a3828b19d70b20736 + guid: d9d465e5e08340e440713126fbd0faf9 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/plugins/screen-adapter.js.meta b/Runtime/playable-default/plugins/screen-adapter.js.meta index 13f50ee04..f43295489 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: 0b7bcc43f99a8c3fbee8a06897a24eb3 + guid: beccbb28aa08464a14b32441ed497cbb DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/project.config.json.meta b/Runtime/playable-default/project.config.json.meta index d2b0a00fa..07d44f44f 100644 --- a/Runtime/playable-default/project.config.json.meta +++ b/Runtime/playable-default/project.config.json.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 - guid: c9a6074eea58ed29d860754dafceba5a + guid: 951fe1ce663c37339271e898a351fdf5 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/texture-config.js.meta b/Runtime/playable-default/texture-config.js.meta index 97a572749..04beeef0f 100644 --- a/Runtime/playable-default/texture-config.js.meta +++ b/Runtime/playable-default/texture-config.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 - guid: 138b3932896ad9a137aab4ec8fc6968d + guid: 576947dce05b697ce5902e22bc3d549f DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-namespace.js.meta b/Runtime/playable-default/unity-namespace.js.meta index e0097863e..df343c7eb 100644 --- a/Runtime/playable-default/unity-namespace.js.meta +++ b/Runtime/playable-default/unity-namespace.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 - guid: 85d0efb5e64dec929be71386d5a3a849 + guid: c695874cf36160117581cff0525cea4d DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-playable-plugin.meta b/Runtime/playable-default/unity-playable-plugin.meta index 79f5ab795..4bd9f90fb 100644 --- a/Runtime/playable-default/unity-playable-plugin.meta +++ b/Runtime/playable-default/unity-playable-plugin.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 1ef20c0b38c5b07c5536eaa23a8c608b +guid: 3a5f09c06cb0542b82c3714ceae052df folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Runtime/playable-default/unity-playable-plugin/index.js.meta b/Runtime/playable-default/unity-playable-plugin/index.js.meta index b60af3ed0..5ffd596eb 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: df42191698513563c97ee768190b167e + guid: 11aee8209a34ac596b43ce58f67c0164 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk.meta b/Runtime/playable-default/unity-sdk.meta index 238e998f6..c3e311e79 100644 --- a/Runtime/playable-default/unity-sdk.meta +++ b/Runtime/playable-default/unity-sdk.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: ea935edd486cdcf95e3db226d30f9bb4 +guid: 0bf6c526cf672c2e5cc1f5ca49ae5588 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Runtime/playable-default/unity-sdk/audio.meta b/Runtime/playable-default/unity-sdk/audio.meta index 884206bc9..93edbac82 100644 --- a/Runtime/playable-default/unity-sdk/audio.meta +++ b/Runtime/playable-default/unity-sdk/audio.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 4b7a82f0b678e556cd45dc018482af2c +guid: 539cc6f1c62cda3469e8d61f16283b03 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Runtime/playable-default/unity-sdk/audio/common.js.meta b/Runtime/playable-default/unity-sdk/audio/common.js.meta index 21bc5d993..559f7970e 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: fcb5b701ca418377f4b87aa57ad9e44f + guid: 3dd7597d250d5b97c8355924a3083571 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 ee08b9055..d89dd50b2 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: 036ace672923b7964ca607be47797ff8 + guid: d139fcb5b02b71108be197554e477229 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 e849691fc..efd7d3fa1 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: f138d3d7e862c98ca876465d76614410 + guid: e341336a6a21ab7361d92d75a0c19dc2 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 6f9a1e777..af02af7fb 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: 7e4f43362c5185fa63fd2368cde02947 + guid: 42ef24810ee98e0bc9d07157bfac36df 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 aab59fd38..3fdf286a0 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: d507fcc681e3df61a68daefe78742477 + guid: e69342a5354a6401ff998713d6def2f2 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 55144c2a5..8980df8ed 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: 051e3ad4761d5bb61a28f8e9108082ab + guid: 2e1201143be5d8f0a70e77283e676c0c 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 6a1d15cc9..09835d81f 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: c438d3f8f415ad74021aac02b89c85fe + guid: e030f7d85aeae600d94ff3705d520986 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 ae11dea01..c3c039ac0 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: 3d1b49fb81fe86f40c24585d3b404808 + guid: 32527dcd8500505f57cebfd77131d8b7 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/canvas.js.meta b/Runtime/playable-default/unity-sdk/canvas.js.meta index 3e8a2b32a..afd97706b 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: 0032633c9aa4b01fd61e9459e65bc5ce + guid: eb9a3261c638f7bd495a4dd3857612bd DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/conf.js.meta b/Runtime/playable-default/unity-sdk/conf.js.meta index 373e4efb8..deceb7302 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: 73b09a7d95e4911191700ec882b070f2 + guid: e1b36b124d58e40979749eb7fd7a3a19 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 79a5e44e3..6716527e7 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: 5bf0f010954ad7c7188ec4a4e67bc84c + guid: 60aeabc128fb14c7bf708b14c88a1b8b DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/fix.js.meta b/Runtime/playable-default/unity-sdk/fix.js.meta index 37c9f2945..f25b85ca7 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: 3192f10263543e32c6127a2724b631aa + guid: 0ab4ca9d37162269926707a74636522f DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/fs.js.meta b/Runtime/playable-default/unity-sdk/fs.js.meta index 4a67beff8..d20481f51 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: 3b762d5ea1a4f425455ae341319cb565 + guid: 211250b10ae30a77eeb42493a580441d DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/index.js.meta b/Runtime/playable-default/unity-sdk/index.js.meta index 8badbf1e8..1cf784f6b 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: ac4dc8990b0dc9d2ecb9e22fceb30c09 + guid: 2cb6edf532d844b8930ee05a96bcc1cb DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/logger.js.meta b/Runtime/playable-default/unity-sdk/logger.js.meta index 3356c4fc6..8724a35aa 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: 660bbb210dcebf2e3bdc3e3adcedd22a + guid: f1087fb5c37e2f400c1ca43feb719a0f DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/mobileKeyboard.meta b/Runtime/playable-default/unity-sdk/mobileKeyboard.meta index b3b081fff..189880201 100644 --- a/Runtime/playable-default/unity-sdk/mobileKeyboard.meta +++ b/Runtime/playable-default/unity-sdk/mobileKeyboard.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 1294735d54e3c7e85cc717243837b4ae +guid: 48c7096065a73765e8b11499c4970364 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Runtime/playable-default/unity-sdk/mobileKeyboard/index.js.meta b/Runtime/playable-default/unity-sdk/mobileKeyboard/index.js.meta index 2c3992b82..7c1b1ea2e 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: 8f111902f93174de27cb26ceda552d74 + guid: 6348b2da806d13d8c3d838d29cf926d3 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 828b59333..f86432e56 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: dfe9a302c0cfaf5d50fc7c4ac231a8d2 + guid: ad89c4fa7297834e8055c028fcca3d8e DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/recorder.js.meta b/Runtime/playable-default/unity-sdk/recorder.js.meta index ae8a6fabb..86f429edc 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: 6f6bf7b1d614ea2cb43955e0926f6775 + guid: 5e5cbe5d9cde77af5f7abac46af201bf DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/resType.js b/Runtime/playable-default/unity-sdk/resType.js index 1cc38b161..a4a98d884 100644 --- a/Runtime/playable-default/unity-sdk/resType.js +++ b/Runtime/playable-default/unity-sdk/resType.js @@ -93,6 +93,14 @@ export const ResType = { top: 'number', width: 'number', }, + OfficialComponentsInfo: { + notificationComponentInfo: 'OfficialComponentInfo', + }, + OfficialComponentInfo: { + boundingClientRect: 'ClientRect', + isVisible: 'bool', + name: 'string', + }, GetStorageInfoSyncOption: { currentSize: 'number', keys: 'string[]', @@ -180,10 +188,15 @@ export const ResType = { downstreamThroughputKbpsEstimate: 'number', estimate_nettype: 'number', fetchStart: 'number', + httpDNSDomainLookUpEnd: 'number', + httpDNSDomainLookUpStart: 'number', httpRttEstimate: 'number', + invokeStart: 'number', peerIP: 'string', port: 'number', protocol: 'string', + queueEnd: 'number', + queueStart: 'number', receivedBytedCount: 'number', redirectEnd: 'number', redirectStart: 'number', @@ -518,6 +531,12 @@ export const ResType = { status: 'number', errMsg: 'string', }, + GetChatToolInfoSuccessCallbackResult: { + cloudID: 'string', + encryptedData: 'string', + errMsg: 'string', + iv: 'string', + }, GetClipboardDataSuccessCallbackOption: { data: 'string', errMsg: 'string', @@ -555,6 +574,10 @@ export const ResType = { signature: 'string', errMsg: 'string', }, + GetGameExptInfoSuccessCallbackResult: { + list: 'object', + errMsg: 'string', + }, GetGroupEnterInfoError: { errMsg: 'string', errCode: 'number', @@ -565,6 +588,20 @@ export const ResType = { errMsg: 'string', iv: 'string', }, + GetGroupMembersInfoSuccessCallbackResult: { + membersInfo: 'ResultOpenDataContextUserInfo[]', + errMsg: 'string', + }, + ResultOpenDataContextUserInfo: { + avatarUrl: 'string', + city: 'string', + country: 'string', + gender: 'number', + language: 'string', + nickName: 'string', + openId: 'string', + province: 'string', + }, GetInferenceEnvInfoSuccessCallbackResult: { ver: 'string', errMsg: 'string', @@ -667,7 +704,7 @@ export const ResType = { errMsg: 'string', openIdList: 'string[]', }, - RequestFailCallbackErr: { + LoginFailCallbackErr: { errMsg: 'string', errno: 'number', }, @@ -736,9 +773,8 @@ export const ResType = { OnDeviceOrientationChangeListenerResult: { value: 'string', }, - Error: { + ListenerError: { message: 'string', - stack: 'string', }, OnGamepadConnectedListenerResult: { gamepad: 'string', @@ -784,6 +820,9 @@ export const ResType = { networkType: 'string', weakNet: 'bool', }, + OnOfficialComponentsInfoChangeListenerResult: { + OfficialComponentsInfo: 'OfficialComponentsInfo', + }, OnScreenRecordingStateChangedListenerResult: { state: 'string', }, @@ -846,6 +885,9 @@ export const ResType = { windowHeight: 'number', windowWidth: 'number', }, + OnWindowStateChangeListenerResult: { + state: 'string', + }, OpenCardRequestInfo: { cardId: 'string', code: 'string', @@ -889,12 +931,6 @@ export const ResType = { errMsg: 'string', errCode: 'number', }, - RequestMidasFriendPaymentSuccessCallbackResult: { - cloudID: 'string', - encryptedData: 'string', - errMsg: 'string', - iv: 'string', - }, MidasPaymentError: { errMsg: 'string', errCode: 'number', @@ -940,6 +976,10 @@ export const ResType = { scanType: 'string', errMsg: 'string', }, + GroupMemberInfo: { + members: 'string[]', + errMsg: 'string', + }, SetBLEMTUFailCallbackResult: { mtu: 'number', }, diff --git a/Runtime/playable-default/unity-sdk/resType.js.meta b/Runtime/playable-default/unity-sdk/resType.js.meta index a3a85e739..c2d29bd8c 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: 41c8deca0ff34d264f1244b563739b50 + guid: 9319aa84d40b112e5af752feb43026f6 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/resTypeOther.js b/Runtime/playable-default/unity-sdk/resTypeOther.js index 9ca8b5a42..ead21e383 100644 --- a/Runtime/playable-default/unity-sdk/resTypeOther.js +++ b/Runtime/playable-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/playable-default/unity-sdk/resTypeOther.js.meta b/Runtime/playable-default/unity-sdk/resTypeOther.js.meta index 474597200..1216db2b0 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: 5329bb0b502c4916572146e7353c8880 + guid: de1fc64667b63bedd9ce6ae6bed37b32 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/response.js.meta b/Runtime/playable-default/unity-sdk/response.js.meta index 55a764fe3..2d65cb598 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: 9aa844e47796f1fe344b8d60b82fa9b7 + guid: e0b035786f2bd28b047a6be32ac29a87 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/sdk.js b/Runtime/playable-default/unity-sdk/sdk.js index 0c1957ed6..9046d24b0 100644 --- a/Runtime/playable-default/unity-sdk/sdk.js +++ b/Runtime/playable-default/unity-sdk/sdk.js @@ -27,10 +27,12 @@ function WX_OneWayNoFunction(functionName, ...params) { } -const onlyReadyResponse = [ +const onlyReadResponse = [ 'getSystemSetting', 'getAppAuthorizeSetting', ]; + +const needParseJson = ['WXMiniReportManagerReport']; // eslint-disable-next-line @typescript-eslint/naming-convention function WX_SyncFunction(functionName, ...params) { return wx[functionName.replace(/^\w/, (a) => a.toLowerCase())](...params); @@ -72,6 +74,10 @@ export default { ...config, success(res) { formatResponse(successType, res); + + if (lowerFunctionName === 'getGameExptInfo') { + res.list = JSON.stringify(res.list); + } moduleHelper.send(`${functionName}Callback`, JSON.stringify({ callbackId, type: 'success', res: JSON.stringify(res), })); @@ -234,7 +240,7 @@ export default { }, WX_SyncFunction_t(functionName, returnType) { const res = WX_SyncFunction(functionName); - if (onlyReadyResponse.includes(functionName.replace(/^\w/, (a) => a.toLowerCase()))) { + if (onlyReadResponse.includes(functionName.replace(/^\w/, (a) => a.toLowerCase()))) { formatResponse(returnType, JSON.parse(JSON.stringify(res))); return JSON.stringify(res); } @@ -355,7 +361,8 @@ export default { } ClassOnEventLists[className + functionName][id + eventName].push(callback); // WXVideoDecoder OnEvent 不规范 特殊处理 - if (className === 'WXVideoDecoder') { + // update: 2025.9.27: 严重怀疑之前 WXPageManager 压根没有跑通过事件监听,跑到下面去了 + if (className === 'WXVideoDecoder' || className === 'WXPageManager') { obj[functionName.replace(/^\w/, (a) => a.toLowerCase())](eventName, callback); } else { @@ -378,7 +385,8 @@ export default { } ClassOnEventLists[className + functionName][id + eventName].forEach((v) => { - if (className === 'WXVideoDecoder') { + + if (className === 'WXVideoDecoder' || className === 'WXPageManager') { obj[functionName.replace(/^\w/, (a) => a.toLowerCase())](eventName, v); } else { @@ -391,6 +399,10 @@ export default { WX_ClassOneWayNoFunction(className, functionName, id); }, WX_ClassOneWayNoFunction_vs(className, functionName, id, param1) { + if (needParseJson.includes(className + functionName)) { + // eslint-disable-next-line no-param-reassign + param1 = JSON.parse(param1); + } WX_ClassOneWayNoFunction(className, functionName, id, param1); }, WX_ClassOneWayNoFunction_t(className, functionName, returnType, id) { diff --git a/Runtime/playable-default/unity-sdk/sdk.js.meta b/Runtime/playable-default/unity-sdk/sdk.js.meta index a1905a8ca..bfb5a2bf8 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: 6b3e5628522459cc3dd7964d0a814173 + guid: 5d17ad94b81af5f4f325336c9bfa8bf5 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 c2f66caf5..c9eec7877 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: 4b7402032742928010f5479de54a3d93 + guid: 18097075eec016b3f21243d7ec2263cc DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/texture.js.meta b/Runtime/playable-default/unity-sdk/texture.js.meta index 6114c2cd4..fe68626a1 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: 29ce6695da09a0631c4ec513c0da92ae + guid: a853733e0c93c18c7055d4b1c78fd017 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/touch.meta b/Runtime/playable-default/unity-sdk/touch.meta index c9b411361..3bcfc4ef1 100644 --- a/Runtime/playable-default/unity-sdk/touch.meta +++ b/Runtime/playable-default/unity-sdk/touch.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: d2f786864680ee6890aa7b3f9a91e748 +guid: 217474a165235b1f34b46a3cf69c0f31 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Runtime/playable-default/unity-sdk/touch/index.js.meta b/Runtime/playable-default/unity-sdk/touch/index.js.meta index 94bd2e440..49e458ef3 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: 14b58d35b818a6a38adec667a7a4aac3 + guid: 18c6eda2b84b1734c5a1910f35f9ceff DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/util.js.meta b/Runtime/playable-default/unity-sdk/util.js.meta index d955f312a..31015ce2c 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: f1c0b302460c710eb5d6f78e7bbc77b6 + guid: 18011d82a0290edc9b17b06cc0b8d167 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/utils.js.meta b/Runtime/playable-default/unity-sdk/utils.js.meta index 0b5bebee0..74964b14e 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: 23d83e7ac4b7b30b2f8202d7147cd332 + guid: 618c272331d177ac059b809a35dda999 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/video.js.meta b/Runtime/playable-default/unity-sdk/video.js.meta index 9a9bd6132..acf49644c 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: 970ffb90d4864c9490b01e9bc44c5de1 + guid: 07ceb8b0414273aab154e6f3c561f7a0 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/video.meta b/Runtime/playable-default/unity-sdk/video.meta index 68e0d7162..1c6d38900 100644 --- a/Runtime/playable-default/unity-sdk/video.meta +++ b/Runtime/playable-default/unity-sdk/video.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 01fc114f60b2df8e2e439805212c97df +guid: 41510b01546b41e0390379be609840e6 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Runtime/playable-default/unity-sdk/video/index.js.meta b/Runtime/playable-default/unity-sdk/video/index.js.meta index 3d8430570..56bb819f2 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: ba12dcb22c6474a3ca54b389f5a3332c + guid: 8905b7b5bfa9080aec519feb0cbd22c3 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/wasmcode.meta b/Runtime/playable-default/wasmcode.meta index 7e88eb716..2f38a8038 100644 --- a/Runtime/playable-default/wasmcode.meta +++ b/Runtime/playable-default/wasmcode.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 0e128f7c44dd1bce2d633506e5a47d40 +guid: f15eb9b8473320dd14dbe277f5db3648 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Runtime/playable-default/wasmcode/game.js.meta b/Runtime/playable-default/wasmcode/game.js.meta index ddf212fac..0e9b469a2 100644 --- a/Runtime/playable-default/wasmcode/game.js.meta +++ b/Runtime/playable-default/wasmcode/game.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 - guid: fd4e694f43b0aa3f5a5092bd0511f7d2 + guid: 0f912e9dcf340d0772f1f5d6b62b693b DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/weapp-adapter.js.meta b/Runtime/playable-default/weapp-adapter.js.meta index 5e02c8360..5261ca29c 100644 --- a/Runtime/playable-default/weapp-adapter.js.meta +++ b/Runtime/playable-default/weapp-adapter.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 - guid: ade8e1257dceffd8772fecb37c8c20fb + guid: acb1e93811f4db05bdea5fb3922cf417 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/check-version.js.meta b/Runtime/wechat-default/check-version.js.meta index e88c6ce9c..0572e1ade 100644 --- a/Runtime/wechat-default/check-version.js.meta +++ b/Runtime/wechat-default/check-version.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 - guid: b93c9a0067d6f24d0ee31907c9b8dee0 + guid: 1f82924d31dec7a3c3ae492b976f787a DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/data-package.meta b/Runtime/wechat-default/data-package.meta index e19bc99ec..8eb0148b8 100644 --- a/Runtime/wechat-default/data-package.meta +++ b/Runtime/wechat-default/data-package.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 159d3ecf3853f33f27f82dc14eb1223f +guid: da9108349e73fd07068cd94438b6be7d folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Runtime/wechat-default/data-package/game.js.meta b/Runtime/wechat-default/data-package/game.js.meta index 3f03bb689..f990ec7e4 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: ccfdb628122b7b06b4050606f8eafd89 + guid: e1a6a8f283afe43c351c5f44dcbe0947 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/events.js.meta b/Runtime/wechat-default/events.js.meta index 3ddd3504e..e2727c28a 100644 --- a/Runtime/wechat-default/events.js.meta +++ b/Runtime/wechat-default/events.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 - guid: e21691107c19c03863b6b94613ee293b + guid: 8e1ec0ffc72bf2b11514b3640797e8fc DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/game.js.meta b/Runtime/wechat-default/game.js.meta index aa451edd0..5133c16b5 100644 --- a/Runtime/wechat-default/game.js.meta +++ b/Runtime/wechat-default/game.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 - guid: f9dcd5068f86566abbb47b7dc12581a4 + guid: 2bdb4f884ee184a06e8511beea2025ed DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/game.json b/Runtime/wechat-default/game.json index 8968c9355..7916885b2 100644 --- a/Runtime/wechat-default/game.json +++ b/Runtime/wechat-default/game.json @@ -23,7 +23,7 @@ ], "plugins": { "UnityPlugin": { - "version": "1.2.83", + "version": "1.2.84", "provider": "wxe5a48f1ed5f544b7", "contexts": [ { diff --git a/Runtime/wechat-default/game.json.meta b/Runtime/wechat-default/game.json.meta index 8641447d0..69e868709 100644 --- a/Runtime/wechat-default/game.json.meta +++ b/Runtime/wechat-default/game.json.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 - guid: 7d49b22178f2450803293d12a61eb31e + guid: 493be2c3ecc30f830e45f430a4cb264b DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/images.meta b/Runtime/wechat-default/images.meta index da5fd8fc7..105e18ab8 100644 --- a/Runtime/wechat-default/images.meta +++ b/Runtime/wechat-default/images.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 7a1cdee40104ef4f2d71cce0739e9c5c +guid: f8e8f0adbabd3ed02ceb7fdb3ab8c069 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Runtime/wechat-default/images/background.jpg.meta b/Runtime/wechat-default/images/background.jpg.meta index 7b12ca5dc..678a73290 100644 --- a/Runtime/wechat-default/images/background.jpg.meta +++ b/Runtime/wechat-default/images/background.jpg.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 - guid: 5ab2fd9f05d6d847703e15429e8745a3 + guid: dc0975f77f7c26915dc3c14a5b82939d DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/images/unity_logo.png.meta b/Runtime/wechat-default/images/unity_logo.png.meta index de9ceba5e..4fe83c770 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: a1bedbee2f4f8aa1e5e1881b864c7183 + guid: 4cddb22cdd2f5fbda07a61357a1a7973 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/open-data.meta b/Runtime/wechat-default/open-data.meta index 7883edb80..2a341ffa1 100644 --- a/Runtime/wechat-default/open-data.meta +++ b/Runtime/wechat-default/open-data.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 5ede05d304e27f419955e65b3e270d9e +guid: 833c9ede6c24aff40dbbef0b074df71e folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Runtime/wechat-default/open-data/data.meta b/Runtime/wechat-default/open-data/data.meta index a0771aa09..35ed64d12 100644 --- a/Runtime/wechat-default/open-data/data.meta +++ b/Runtime/wechat-default/open-data/data.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 94f7f561ba2e9090cb9ccaefe8fdef90 +guid: fdec8b484e5d93f00502e6594c4f7fa2 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Runtime/wechat-default/open-data/data/index.js.meta b/Runtime/wechat-default/open-data/data/index.js.meta index 59fdf4bc7..5466af3c5 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: d3ca90f5308418f9e8f878fa484f6aa9 + guid: a5c7b9a43908ae4bdecd80c653c0a834 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 7b6ff1dd9..06ef310a3 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: c7081b3840feb201cfbe20e241877fb5 + guid: c2d4bc3e4ce037b7d266191ce8f25286 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/open-data/index.js.meta b/Runtime/wechat-default/open-data/index.js.meta index e5ec711e6..40d14c2ef 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: 424d12a4cf887bd4cf31b2757a7e3345 + guid: dc4d7a9e60bab5f9b4b77965ad61bcf1 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/open-data/loading.js.meta b/Runtime/wechat-default/open-data/loading.js.meta index 0ed2379c4..b7bab637a 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: a97f287cbcbf865f60ede1c89af50756 + guid: 7875e29120eba579511fedbc3eab1b49 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/open-data/render.meta b/Runtime/wechat-default/open-data/render.meta index c3f15bda1..763bef9bf 100644 --- a/Runtime/wechat-default/open-data/render.meta +++ b/Runtime/wechat-default/open-data/render.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: c077b7c5073887a22817a1de3463cbaa +guid: f83531d444908f043756a34ae4dc3f8a folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Runtime/wechat-default/open-data/render/image.meta b/Runtime/wechat-default/open-data/render/image.meta index 605fb16cd..10b894912 100644 --- a/Runtime/wechat-default/open-data/render/image.meta +++ b/Runtime/wechat-default/open-data/render/image.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 7ca9ace473c408950c8e70a9b587f59b +guid: 7bfb57d720359e35e5988e0d23401491 folderAsset: yes DefaultImporter: externalObjects: {} 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 e4945e522..f2b054f1b 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: ed7b40fffc12b226d0f17c68ec425955 + guid: 008133f3e935f43482bdd6d4a560ae6e 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 566bdb92a..1067bf9a2 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: 35a524449d53878bbdf7b5b5c5ee52e0 + guid: 0ed044ede58dd37930e89fbcf93139a0 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 a6ac74a64..492344188 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: 2562183ed446cc91b818a488f02b810b + guid: 8b2836d20c7b541c1660a90f1c9a36d3 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 21d21acd5..c0ae954d8 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: a9e9ca6bcf166e7557365863b246dd5f + guid: 405479d785b4b98a443327c8c1d2f9a3 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 14faa881f..b92f2e08c 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: 5828dd6840780c92a087e55722ea515a + guid: fbcf7a843866bb38d8b986846f946b03 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 3e9de07c3..982296b40 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: 1e349f79e5388b6f7548c37648a70439 + guid: 00973b32e649bc39b5ee86da1aaabd75 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 0c63fc01c..2ac18b26e 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: 0756ab81db4819b8e9d84502746d080a + guid: 2cb1b545f81897c1f0e8ba6862c585fa 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 098615464..4fe0aa9c9 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: 746fc56a705d56725b57c1823bb94be5 + guid: 3896feeb7cddc76918e98a067186448a 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 90b421345..77ee804b9 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: 7b613eba0d9f2bc926e100aa3cc9a4bd + guid: 7995ad253845e760045a789a3f94f1d8 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 2867f1c41..9e80d411a 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: 1d960c8696a881a2ad0244eec51f3a96 + guid: fdacbbee1597973fd19b508619279c1c DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/open-data/render/styles.meta b/Runtime/wechat-default/open-data/render/styles.meta index 39ff8a311..c834477d3 100644 --- a/Runtime/wechat-default/open-data/render/styles.meta +++ b/Runtime/wechat-default/open-data/render/styles.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: ffdff0bedcaf5e4694ce6a8860c934aa +guid: cadcd4581f4013d5abea6b7c5d204641 folderAsset: yes DefaultImporter: externalObjects: {} 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 2afe90b18..a237f89a2 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: fb4aaad37610738fde384b889580f6fb + guid: 3d5cd2436a5cd23fc5445dd799636718 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 314dfb27a..508afe640 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: e0e1626872852bf606b184dee65736ca + guid: 87eb47a1a3ef417101e96aab46816962 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/open-data/render/tpls.meta b/Runtime/wechat-default/open-data/render/tpls.meta index 1ebebcfe0..1a96fba09 100644 --- a/Runtime/wechat-default/open-data/render/tpls.meta +++ b/Runtime/wechat-default/open-data/render/tpls.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 7a622c2af1899b98a0d9c71d74dee8d8 +guid: 2b860b95567710e81ca5a5149bc9971f folderAsset: yes DefaultImporter: externalObjects: {} 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 8a96ce1ae..b8e0e6b75 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: 8689b7eaf67fb8ea0829f2c9fa446659 + guid: 02c4f63de939fab9daa99ecaa34c856a 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 9793c66e6..52475677f 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: 2f0f259b2ae2f1aa7c3f9436a5301301 + guid: 81b0e0e66d5215cbb517b1481af8d4b8 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/plugin-config.js.meta b/Runtime/wechat-default/plugin-config.js.meta index 2d9d33eb7..f05fe8123 100644 --- a/Runtime/wechat-default/plugin-config.js.meta +++ b/Runtime/wechat-default/plugin-config.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 - guid: b7e2e6c67097e6d412bc78367c39e949 + guid: 9c51428f9de9ccf6b6c2b9e1072e3f6c DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/plugins.meta b/Runtime/wechat-default/plugins.meta index 586bfa62b..219456d00 100644 --- a/Runtime/wechat-default/plugins.meta +++ b/Runtime/wechat-default/plugins.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: cec67b180a97ea11a8536168c02ab1d2 +guid: 07d85f46180030966785fe66677911fa folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Runtime/wechat-default/plugins/check-update.js.meta b/Runtime/wechat-default/plugins/check-update.js.meta index 6d6ad7ff4..373153aeb 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: 8e88ab1dc2bf8dda1edfd3072513592c + guid: f90dab7ab22f982270b8ff7b61a6c457 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/plugins/screen-adapter.js.meta b/Runtime/wechat-default/plugins/screen-adapter.js.meta index 6a7becdbc..d9500c9fa 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: 48bb057579c3e1324c2b82b43d5feb84 + guid: 88d2673165784dbb3c9339c257270a53 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/project.config.json.meta b/Runtime/wechat-default/project.config.json.meta index cf35a5de5..f599c2a67 100644 --- a/Runtime/wechat-default/project.config.json.meta +++ b/Runtime/wechat-default/project.config.json.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 - guid: 2327c77d4aa2f9ead5b8b2cb0ec3db06 + guid: bf8fd9aab62206bddb3aa64b7af34007 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/texture-config.js.meta b/Runtime/wechat-default/texture-config.js.meta index 707fe9d23..e48868c2f 100644 --- a/Runtime/wechat-default/texture-config.js.meta +++ b/Runtime/wechat-default/texture-config.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 - guid: 077c652441625a47e365ed3ae5440c29 + guid: d30d8a5c52ab15b18a78bd9cb3bf373c DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-namespace.js.meta b/Runtime/wechat-default/unity-namespace.js.meta index f2ee1d953..ddb769b00 100644 --- a/Runtime/wechat-default/unity-namespace.js.meta +++ b/Runtime/wechat-default/unity-namespace.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 - guid: 9aca56e770c5aa6e9aed5659a45a13ff + guid: 2b96c645e52874f15d21db701dbc19ab DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk.meta b/Runtime/wechat-default/unity-sdk.meta index ca1a7b2c1..2719cb98d 100644 --- a/Runtime/wechat-default/unity-sdk.meta +++ b/Runtime/wechat-default/unity-sdk.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 8da402a9a8e70b56ab98b8c34dac663d +guid: e38646bf8a7db28cb6edca9a4ccc73e6 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Runtime/wechat-default/unity-sdk/TCPSocket.meta b/Runtime/wechat-default/unity-sdk/TCPSocket.meta index 555704b98..e82ffd861 100644 --- a/Runtime/wechat-default/unity-sdk/TCPSocket.meta +++ b/Runtime/wechat-default/unity-sdk/TCPSocket.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 4b5c9adf75f2ce1671c9fbf36f1bd2e1 +guid: 091d376f0911fa979eb74da5aab45449 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Runtime/wechat-default/unity-sdk/TCPSocket/index.js.meta b/Runtime/wechat-default/unity-sdk/TCPSocket/index.js.meta index 64764e4a3..70994610d 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: e966fc7928ae459970c211b298b65396 + guid: 858603447daf441e8c0135f8b30386bb DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/UDPSocket.meta b/Runtime/wechat-default/unity-sdk/UDPSocket.meta index ca36a3b58..6e19a5650 100644 --- a/Runtime/wechat-default/unity-sdk/UDPSocket.meta +++ b/Runtime/wechat-default/unity-sdk/UDPSocket.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: a45c88b0f31f7e17ceb1617f760ee837 +guid: 41ae287e86e5d0bc42249bd58247d36c folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Runtime/wechat-default/unity-sdk/UDPSocket/index.js.meta b/Runtime/wechat-default/unity-sdk/UDPSocket/index.js.meta index 99aeaf170..fdda39039 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: d2b02a174bea11383c38cc409cc0902f + guid: 60340437c8319be957141f1417f405fa DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/ad.js.meta b/Runtime/wechat-default/unity-sdk/ad.js.meta index 771924a95..2d1e9a623 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: 138fed8c0342d2d999e5eb7e1a7cd389 + guid: 50d4bf5effe7e5d68fa547480bb33b82 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/audio.meta b/Runtime/wechat-default/unity-sdk/audio.meta index 2cebc5c31..b0ed5e028 100644 --- a/Runtime/wechat-default/unity-sdk/audio.meta +++ b/Runtime/wechat-default/unity-sdk/audio.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 9eb42ad1889588435cacf8853c152bce +guid: ac34dd2895907212bf82fe0a2c638258 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Runtime/wechat-default/unity-sdk/audio/common.js.meta b/Runtime/wechat-default/unity-sdk/audio/common.js.meta index e2591a977..32d4ccaf8 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: 74bd9343a8f6a7efe1e022819fd7fead + guid: f97dc7973ebb0528d37a4a912bda6f82 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 449a1f339..df8250fbc 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: 6e128d34f739ed1a78b0403827cf93ad + guid: 5aaf227a674120135025ca80c4cbee99 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 6c937b199..44acd58c3 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: ca340c48401eaa8679a4fd9047f24266 + guid: 74e9d01757e626eaf7f4e6a8d87913bd 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 f8a6fc5b9..69cd67c63 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: 306e5636e5fad91f1a322e4218c2a220 + guid: d354828bfacf1bef61505786127236fa 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 d13cd3339..58b70e1cc 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: 907ed92f97c308de890742cc28317f4f + guid: 76ff8821e83d9343407f019a754b0d88 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 a4eefa149..18d60bf9d 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: eab76dfc34abf5cf3914d4dd83d54b25 + guid: 986b5cf17e98134a12f0040ede22c59b 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 b30fb82a5..45ebf22c8 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: 895c9fe42dae4537019b8ea5404dbff2 + guid: 27340108a8f3740a9fea48d4dd268ffd DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/authorize.js.meta b/Runtime/wechat-default/unity-sdk/authorize.js.meta index e48ca7b3d..a06ab76ed 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: c953b592f6d37be4919a0b88680e21fd + guid: 824e928fae4a30720415f2ad6e13a872 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/bluetooth.meta b/Runtime/wechat-default/unity-sdk/bluetooth.meta index 69aff7bc8..3659c5ae3 100644 --- a/Runtime/wechat-default/unity-sdk/bluetooth.meta +++ b/Runtime/wechat-default/unity-sdk/bluetooth.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: f61814f248e8f96861fc7c67d225840c +guid: d1164088c0327e13a380cf9b02b9f600 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Runtime/wechat-default/unity-sdk/bluetooth/index.js.meta b/Runtime/wechat-default/unity-sdk/bluetooth/index.js.meta index ee52da59c..2d6231520 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: 23b19627b097cb8c23f8aa898dfc09e2 + guid: d6666a0bfde5d8736c86e5e3b9bb1ff2 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/camera.js.meta b/Runtime/wechat-default/unity-sdk/camera.js.meta index 549694cbb..11d5ad0f2 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: e0b7f5c499c2802f9fe30325d409610f + guid: 02e17c3ae621f9b1287432e72eaa47cd 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 7e7f8f478..a2ec1cfd1 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: 817f452ab445fab8f0bc0a6a4e8b288b + guid: 6c3a8114f640b9dfa360d71ef88d6161 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/canvas.js.meta b/Runtime/wechat-default/unity-sdk/canvas.js.meta index 6ad4ca075..1294de48c 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: 6cb9fc877b27425a0659933c6dc9dab6 + guid: 6aaf7aba74ef3982a7d0204c81a6222a DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/chat.js.meta b/Runtime/wechat-default/unity-sdk/chat.js.meta index f23a085bb..41a141850 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: 23891dc38a582f67f1aef1fc5585a294 + guid: 9cd6d457c2918e3be53194c43f9145e3 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/cloud.js.meta b/Runtime/wechat-default/unity-sdk/cloud.js.meta index abc7e98d0..ed3a62e31 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: 9831e082c5cc52c7f23401725c2053fa + guid: 00169ba103825cc188ac6fbe9495a51a DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/conf.js.meta b/Runtime/wechat-default/unity-sdk/conf.js.meta index 9af01b68e..731378b45 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: b5cc43672048b3a82ef19e000d54e16c + guid: 9b5fd29d7a49103d81fd907637b20b69 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 f7bb0c2c2..7fbdc5efd 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: 2a7d32d21df82f9982c760fb111f1751 + guid: b0c55528171cf40a0df4eba53d8546ef DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/fix.js.meta b/Runtime/wechat-default/unity-sdk/fix.js.meta index 32bd0bb75..b3b07748a 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: e00f0425e43c8ab397801593eda1ae0c + guid: 2cc6a90fb4d0e221affc7ba8c67fb01c DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/font.meta b/Runtime/wechat-default/unity-sdk/font.meta index 67d859119..0d4817614 100644 --- a/Runtime/wechat-default/unity-sdk/font.meta +++ b/Runtime/wechat-default/unity-sdk/font.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: ad5eeb9e744b42526734add0e8692375 +guid: d52bf1fecd3906e97e6f51f3bbc22834 folderAsset: yes DefaultImporter: externalObjects: {} 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 7d97bab2f..53444fe90 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: 8f6a26ee9d01a47797009356b3b6dd9a + guid: f99fc0d5f1f9b386176cad8fcac51205 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/font/index.js b/Runtime/wechat-default/unity-sdk/font/index.js index 925e34c8d..33c798af7 100644 --- a/Runtime/wechat-default/unity-sdk/font/index.js +++ b/Runtime/wechat-default/unity-sdk/font/index.js @@ -170,8 +170,8 @@ function WXGetFontRawData(conf, callbackId, forceFallback = false) { } }) .catch((err) => { - if (err.errmsg === 'no support font' && forceFallback === false) { - + + if (!loadFromRemote && !!config && forceFallback === false) { WXGetFontRawData(conf, callbackId, true); } else { diff --git a/Runtime/wechat-default/unity-sdk/font/index.js.meta b/Runtime/wechat-default/unity-sdk/font/index.js.meta index eb2132d9a..622c0b6f7 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: 7a56f955d234df04b8b19054dfb297b4 + guid: 26f8c4f22c9ff43229f48b46b3cd202f 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 86873e2d2..d72404771 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: 91d62b57cad2c245aadc689fdef6efdc + guid: 38c8a5b25c659f4e13b7e8bb3aff51b6 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 909873a3a..b9fd8607a 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: f48e9b617d8fa4015f2e8004690d7548 + guid: 40c8c3e8d1e3b5dff267c4f562b7742d 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 c4ebf28d5..efd81e85e 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: 67f1396dab7da177e98fb0b8762b621c + guid: 0ceee5c7d5c71e202c8873493ecce138 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/fs.js.meta b/Runtime/wechat-default/unity-sdk/fs.js.meta index 786036811..45a2d0840 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: 0c07fd17b7e62d34f07365a3d0ca2253 + guid: f214cf8a403f294576c564d5766ff10f 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 11a073912..3e38611d5 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: 028951420d5be79b590ee5dc79cc5c47 + guid: 604da8a7e0f4d06c0bc2d48f246890ae 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 3c036ed5a..4e2b1ffc6 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: 2f71c0a398c0336475ab67cc155b8499 + guid: 5edb6231dc001fbcfcc867088a2d2f64 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/gyroscope.meta b/Runtime/wechat-default/unity-sdk/gyroscope.meta index 3eea814b9..6e2eb388b 100644 --- a/Runtime/wechat-default/unity-sdk/gyroscope.meta +++ b/Runtime/wechat-default/unity-sdk/gyroscope.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 931616e4b04eb49b9f98901fb3858909 +guid: de8f19138e64641f5145ee318a55e7e0 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Runtime/wechat-default/unity-sdk/gyroscope/index.js.meta b/Runtime/wechat-default/unity-sdk/gyroscope/index.js.meta index 9346896ef..1294a1fd8 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: bb6f7658bf0e2103afce20b94bf3c458 + guid: 66f26c1d00c65e972a886541ae0b34cc DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/index.js.meta b/Runtime/wechat-default/unity-sdk/index.js.meta index 9325140d5..1a2fae167 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: 11ec3cc46741a8a0d51959fadc2b3bca + guid: 799d7f71610c599dd4325ba2be08324d DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/logger.js.meta b/Runtime/wechat-default/unity-sdk/logger.js.meta index e5e9a79b6..f8a2064d8 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: 51894a8268827c8e2817bc24eb1a595b + guid: f1a922ff27f120144076650a904c79dc DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/mobileKeyboard.meta b/Runtime/wechat-default/unity-sdk/mobileKeyboard.meta index ee09cb78d..f68c57718 100644 --- a/Runtime/wechat-default/unity-sdk/mobileKeyboard.meta +++ b/Runtime/wechat-default/unity-sdk/mobileKeyboard.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 2c7fe8e249666c9d31fee07076662170 +guid: f9427d4704dbe6f40354c799d4a9fc03 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Runtime/wechat-default/unity-sdk/mobileKeyboard/index.js.meta b/Runtime/wechat-default/unity-sdk/mobileKeyboard/index.js.meta index d32b56c04..244c40e12 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: 1ad7ee5e30bd460e6e0dca4b413f19e0 + guid: 8ef831a8592c564266a6b635e6b5d29d 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 602cbeab1..1e1bb4242 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: d85968fd23e16830b72507294ef4603e + guid: d25c40887db5ab9ec173c1a3ad485013 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/open-data.js b/Runtime/wechat-default/unity-sdk/open-data.js index 7e3660613..377c1f5f6 100644 --- a/Runtime/wechat-default/unity-sdk/open-data.js +++ b/Runtime/wechat-default/unity-sdk/open-data.js @@ -12,6 +12,8 @@ var SharedCanvasMode; })(SharedCanvasMode || (SharedCanvasMode = {})); let sharedCanvasMode; let timerId; +let textureObject = null; +let unityTextureObject = null; let textureId; function getOpenDataContext(mode) { @@ -60,12 +62,34 @@ function hookUnityRender() { } else { - gl.bindTexture(gl.TEXTURE_2D, GL.textures[textureId]); - if (isLinearColorSpace) { - gl.texImage2D(gl.TEXTURE_2D, 0, gl.SRGB8_ALPHA8, gl.RGBA, gl.UNSIGNED_BYTE, getSharedCanvas()); + const commonTexImage2DHandler = () => { + + if (textureId) { + gl.bindTexture(gl.TEXTURE_2D, GL.textures[textureId]); + if (isLinearColorSpace) { + gl.texImage2D(gl.TEXTURE_2D, 0, gl.SRGB8_ALPHA8, gl.RGBA, gl.UNSIGNED_BYTE, getSharedCanvas()); + } + else { + gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, getSharedCanvas()); + } + } + }; + if (!textureObject) { + textureObject = gl.createTexture(); + + unityTextureObject = GL.textures[textureId]; + + GL.textures[textureId] = textureObject; + commonTexImage2DHandler(); + + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE); } else { - gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, getSharedCanvas()); + + commonTexImage2DHandler(); } timerId = requestAnimationFrame(hookUnityRender); } @@ -91,6 +115,12 @@ function stopHookUnityRender() { const Module = GameGlobal.manager.gameInstance.Module; const { GL } = Module; const gl = GL.currentContext.GLctx; + if (textureObject) { + gl.deleteTexture(textureObject); + GL.textures[textureId] = unityTextureObject; + textureObject = null; + unityTextureObject = null; + } if (gl.emscriptenGLX) { Module.ccall('glxHideOpenData', null, [], []); diff --git a/Runtime/wechat-default/unity-sdk/open-data.js.meta b/Runtime/wechat-default/unity-sdk/open-data.js.meta index dd7377bae..4fc96d8ba 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: fe7b92854a385e714071e41a63c88ef8 + guid: 55969c7333f7ec64cea95ee94bda3f06 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/recorder.js.meta b/Runtime/wechat-default/unity-sdk/recorder.js.meta index 141dda536..5bacb20f1 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: 0f235ac0a118c94f983d7d895a2c4a58 + guid: 787d49a7b906e17ac8e4bc3cc3691b35 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/resType.js b/Runtime/wechat-default/unity-sdk/resType.js index 1cc38b161..a4a98d884 100644 --- a/Runtime/wechat-default/unity-sdk/resType.js +++ b/Runtime/wechat-default/unity-sdk/resType.js @@ -93,6 +93,14 @@ export const ResType = { top: 'number', width: 'number', }, + OfficialComponentsInfo: { + notificationComponentInfo: 'OfficialComponentInfo', + }, + OfficialComponentInfo: { + boundingClientRect: 'ClientRect', + isVisible: 'bool', + name: 'string', + }, GetStorageInfoSyncOption: { currentSize: 'number', keys: 'string[]', @@ -180,10 +188,15 @@ export const ResType = { downstreamThroughputKbpsEstimate: 'number', estimate_nettype: 'number', fetchStart: 'number', + httpDNSDomainLookUpEnd: 'number', + httpDNSDomainLookUpStart: 'number', httpRttEstimate: 'number', + invokeStart: 'number', peerIP: 'string', port: 'number', protocol: 'string', + queueEnd: 'number', + queueStart: 'number', receivedBytedCount: 'number', redirectEnd: 'number', redirectStart: 'number', @@ -518,6 +531,12 @@ export const ResType = { status: 'number', errMsg: 'string', }, + GetChatToolInfoSuccessCallbackResult: { + cloudID: 'string', + encryptedData: 'string', + errMsg: 'string', + iv: 'string', + }, GetClipboardDataSuccessCallbackOption: { data: 'string', errMsg: 'string', @@ -555,6 +574,10 @@ export const ResType = { signature: 'string', errMsg: 'string', }, + GetGameExptInfoSuccessCallbackResult: { + list: 'object', + errMsg: 'string', + }, GetGroupEnterInfoError: { errMsg: 'string', errCode: 'number', @@ -565,6 +588,20 @@ export const ResType = { errMsg: 'string', iv: 'string', }, + GetGroupMembersInfoSuccessCallbackResult: { + membersInfo: 'ResultOpenDataContextUserInfo[]', + errMsg: 'string', + }, + ResultOpenDataContextUserInfo: { + avatarUrl: 'string', + city: 'string', + country: 'string', + gender: 'number', + language: 'string', + nickName: 'string', + openId: 'string', + province: 'string', + }, GetInferenceEnvInfoSuccessCallbackResult: { ver: 'string', errMsg: 'string', @@ -667,7 +704,7 @@ export const ResType = { errMsg: 'string', openIdList: 'string[]', }, - RequestFailCallbackErr: { + LoginFailCallbackErr: { errMsg: 'string', errno: 'number', }, @@ -736,9 +773,8 @@ export const ResType = { OnDeviceOrientationChangeListenerResult: { value: 'string', }, - Error: { + ListenerError: { message: 'string', - stack: 'string', }, OnGamepadConnectedListenerResult: { gamepad: 'string', @@ -784,6 +820,9 @@ export const ResType = { networkType: 'string', weakNet: 'bool', }, + OnOfficialComponentsInfoChangeListenerResult: { + OfficialComponentsInfo: 'OfficialComponentsInfo', + }, OnScreenRecordingStateChangedListenerResult: { state: 'string', }, @@ -846,6 +885,9 @@ export const ResType = { windowHeight: 'number', windowWidth: 'number', }, + OnWindowStateChangeListenerResult: { + state: 'string', + }, OpenCardRequestInfo: { cardId: 'string', code: 'string', @@ -889,12 +931,6 @@ export const ResType = { errMsg: 'string', errCode: 'number', }, - RequestMidasFriendPaymentSuccessCallbackResult: { - cloudID: 'string', - encryptedData: 'string', - errMsg: 'string', - iv: 'string', - }, MidasPaymentError: { errMsg: 'string', errCode: 'number', @@ -940,6 +976,10 @@ export const ResType = { scanType: 'string', errMsg: 'string', }, + GroupMemberInfo: { + members: 'string[]', + errMsg: 'string', + }, SetBLEMTUFailCallbackResult: { mtu: 'number', }, diff --git a/Runtime/wechat-default/unity-sdk/resType.js.meta b/Runtime/wechat-default/unity-sdk/resType.js.meta index a2944ea4a..bbc60b8af 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: 4ac847704785d5ca9da60ec30a481c1d + guid: 8b50afce1fd433a4c4dad0f9f3843035 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/resTypeOther.js.meta b/Runtime/wechat-default/unity-sdk/resTypeOther.js.meta index 7d82133cd..87738cdb7 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: 56f1932b7976d66cd03a53a245db200a + guid: e5db5b325c183ee5650b1e49e03a507b DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/response.js.meta b/Runtime/wechat-default/unity-sdk/response.js.meta index 77e49672c..974eee0ca 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: fe0ac2b4a0295a7d85ba3e4b2b46676b + guid: a865057a47d12d19f6b9116399eeffd1 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/sdk.js b/Runtime/wechat-default/unity-sdk/sdk.js index 0c1957ed6..9046d24b0 100644 --- a/Runtime/wechat-default/unity-sdk/sdk.js +++ b/Runtime/wechat-default/unity-sdk/sdk.js @@ -27,10 +27,12 @@ function WX_OneWayNoFunction(functionName, ...params) { } -const onlyReadyResponse = [ +const onlyReadResponse = [ 'getSystemSetting', 'getAppAuthorizeSetting', ]; + +const needParseJson = ['WXMiniReportManagerReport']; // eslint-disable-next-line @typescript-eslint/naming-convention function WX_SyncFunction(functionName, ...params) { return wx[functionName.replace(/^\w/, (a) => a.toLowerCase())](...params); @@ -72,6 +74,10 @@ export default { ...config, success(res) { formatResponse(successType, res); + + if (lowerFunctionName === 'getGameExptInfo') { + res.list = JSON.stringify(res.list); + } moduleHelper.send(`${functionName}Callback`, JSON.stringify({ callbackId, type: 'success', res: JSON.stringify(res), })); @@ -234,7 +240,7 @@ export default { }, WX_SyncFunction_t(functionName, returnType) { const res = WX_SyncFunction(functionName); - if (onlyReadyResponse.includes(functionName.replace(/^\w/, (a) => a.toLowerCase()))) { + if (onlyReadResponse.includes(functionName.replace(/^\w/, (a) => a.toLowerCase()))) { formatResponse(returnType, JSON.parse(JSON.stringify(res))); return JSON.stringify(res); } @@ -355,7 +361,8 @@ export default { } ClassOnEventLists[className + functionName][id + eventName].push(callback); // WXVideoDecoder OnEvent 不规范 特殊处理 - if (className === 'WXVideoDecoder') { + // update: 2025.9.27: 严重怀疑之前 WXPageManager 压根没有跑通过事件监听,跑到下面去了 + if (className === 'WXVideoDecoder' || className === 'WXPageManager') { obj[functionName.replace(/^\w/, (a) => a.toLowerCase())](eventName, callback); } else { @@ -378,7 +385,8 @@ export default { } ClassOnEventLists[className + functionName][id + eventName].forEach((v) => { - if (className === 'WXVideoDecoder') { + + if (className === 'WXVideoDecoder' || className === 'WXPageManager') { obj[functionName.replace(/^\w/, (a) => a.toLowerCase())](eventName, v); } else { @@ -391,6 +399,10 @@ export default { WX_ClassOneWayNoFunction(className, functionName, id); }, WX_ClassOneWayNoFunction_vs(className, functionName, id, param1) { + if (needParseJson.includes(className + functionName)) { + // eslint-disable-next-line no-param-reassign + param1 = JSON.parse(param1); + } WX_ClassOneWayNoFunction(className, functionName, id, param1); }, WX_ClassOneWayNoFunction_t(className, functionName, returnType, id) { diff --git a/Runtime/wechat-default/unity-sdk/sdk.js.meta b/Runtime/wechat-default/unity-sdk/sdk.js.meta index c92d5adbb..f11bf9007 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: 012f4309985e3751e01b4d3283dac03c + guid: 2a0542356490ddb954aca17c30897786 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/share.js.meta b/Runtime/wechat-default/unity-sdk/share.js.meta index d25487d32..a7e11e7c0 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: 06160b6b3caeea9e1b890754fe1c966b + guid: 362f5eb24384d8bf7c49aa68e06d2bb6 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/storage.js.meta b/Runtime/wechat-default/unity-sdk/storage.js.meta index 6f5aba0c6..e5640b12e 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: c761af256ebdc99f2d237a384cf7c686 + guid: 12ff72e1bf02934650a6bac74f6effae DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/texture.js.meta b/Runtime/wechat-default/unity-sdk/texture.js.meta index 299bda62c..85780854d 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: 643ced95ec50b8b8e0c0308bc954b9cd + guid: 0c6c4cbb35fc3e63ed2a4a3e2687eb41 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/touch.meta b/Runtime/wechat-default/unity-sdk/touch.meta index a4701a3a5..03748e39f 100644 --- a/Runtime/wechat-default/unity-sdk/touch.meta +++ b/Runtime/wechat-default/unity-sdk/touch.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 20d266f730a420747d016823173cb47b +guid: c2d073b5610affc860d66a3158daf036 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Runtime/wechat-default/unity-sdk/touch/index.js.meta b/Runtime/wechat-default/unity-sdk/touch/index.js.meta index 5dcef0fef..f3ca494bd 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: 2bc6b2cbe7228a1ff14e98e258ea570d + guid: a2a051eef23f244b2314c39928347cf3 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 5d4b9c6fa..30e942b66 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: 4f19e7f58cb25f9caac4917dc1a335dd + guid: 6f5b50c9ef6575e2af6e026ebe9ee948 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/userinfo.js.meta b/Runtime/wechat-default/unity-sdk/userinfo.js.meta index 02dd800f2..f83707a46 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: 321ab22c6613c690a54a85cf066ac67d + guid: e87dda7fc5eac05008a3ccd81beae7f0 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/util.js b/Runtime/wechat-default/unity-sdk/util.js index ce3058ba6..3108ab050 100644 --- a/Runtime/wechat-default/unity-sdk/util.js +++ b/Runtime/wechat-default/unity-sdk/util.js @@ -174,9 +174,4 @@ export default { WX_SetPreferredFramesPerSecond(fps) { wx.setPreferredFramesPerSecond(fps); }, - WXSetSyncReadCacheEnabled(enabled) { - if (GameGlobal.manager && GameGlobal.manager.fs.setSyncReadCacheEnabled) { - GameGlobal.manager.fs.setSyncReadCacheEnabled(!!enabled); - } - } }; diff --git a/Runtime/wechat-default/unity-sdk/util.js.meta b/Runtime/wechat-default/unity-sdk/util.js.meta index 21c325fd7..de9bf9e86 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: bb9f8b6f85db51c20faa6892266915bf + guid: 5bf455df3c75506b9ac60c65a704942b DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/utils.js.meta b/Runtime/wechat-default/unity-sdk/utils.js.meta index 7f57ddb57..b8b46d957 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: a936b59abeb0effa7a6e4c9709641ebd + guid: f67c550b0b096c49250e9f611d4adf24 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/video.js.meta b/Runtime/wechat-default/unity-sdk/video.js.meta index c783031c7..7d2cfac9f 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: bb8cc998a47d08dfac5713b055d91de3 + guid: 81c32b76b12b39ce0bb1037856f56a6e DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/video.meta b/Runtime/wechat-default/unity-sdk/video.meta index 9087b83c6..eb28e9fd6 100644 --- a/Runtime/wechat-default/unity-sdk/video.meta +++ b/Runtime/wechat-default/unity-sdk/video.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 460287e509a815f9b1e0f7cd9dec2943 +guid: d061b2bda6628cc262ec8df7bc13504f folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Runtime/wechat-default/unity-sdk/video/index.js.meta b/Runtime/wechat-default/unity-sdk/video/index.js.meta index 97aed0043..81608dad1 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: 01a00edfa108c43e918cc0a0692a1874 + guid: 6dfb471d834a3bd781205dbfadc7d792 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/wasmcode.meta b/Runtime/wechat-default/wasmcode.meta index cf319d244..462f575a7 100644 --- a/Runtime/wechat-default/wasmcode.meta +++ b/Runtime/wechat-default/wasmcode.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: ed56ef0e3c9686d4f3bf47b8a81eb9b9 +guid: a5ae332e5b6e7edf657120811b44f25e folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Runtime/wechat-default/wasmcode/game.js.meta b/Runtime/wechat-default/wasmcode/game.js.meta index 02b9123aa..d97b1ef66 100644 --- a/Runtime/wechat-default/wasmcode/game.js.meta +++ b/Runtime/wechat-default/wasmcode/game.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 - guid: aaf41f384053e4d2805c7884ec970806 + guid: eab8254a4d6ca880c060fe897eacd6e8 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/weapp-adapter.js.meta b/Runtime/wechat-default/weapp-adapter.js.meta index eb9c4fc08..d835ae5b6 100644 --- a/Runtime/wechat-default/weapp-adapter.js.meta +++ b/Runtime/wechat-default/weapp-adapter.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 - guid: ac182ca527598d0da6f4d9f85fcf0830 + guid: 0c0f473c109622f1d4ce28103b29fdcf DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/workers.meta b/Runtime/wechat-default/workers.meta index c0eb52b4e..27cf9511a 100644 --- a/Runtime/wechat-default/workers.meta +++ b/Runtime/wechat-default/workers.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: bbbb9cb57730b5875cbf0a03dd33bdcb +guid: cb2d30f5725715c9b471339da54a7bfa folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Runtime/wechat-default/workers/response.meta b/Runtime/wechat-default/workers/response.meta index c7fa08284..484ff877b 100644 --- a/Runtime/wechat-default/workers/response.meta +++ b/Runtime/wechat-default/workers/response.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 2e02502ad30c5e5533e44462c589871b +guid: 82478858c0616ad708f306b84e7c8529 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Runtime/wechat-default/workers/response/index.js.meta b/Runtime/wechat-default/workers/response/index.js.meta index 5a050db08..88722debe 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: 9b829bd07fed28065eff0c43283958db + guid: 2200fccdd3998269fb9bf3bd478c975c DefaultImporter: externalObjects: {} userData: diff --git a/package.json b/package.json index 4e01cbcca..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.29","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