diff --git a/CHANGELOG.md b/CHANGELOG.md index 92ac350d7..4eb015ed4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,7 @@ Removed - 删除功能/接口 Fixed - 修复问题 Others - 其他 --> -## 2026-3-15 v0.1.32 【普通更新】 +## 2026-3-16 v0.1.32 【普通更新】 ### Feature * 普通:更新基础库版本 * 普通:擂台赛api新增subScoreKey参数 diff --git a/Editor/PCHighPerformance/PCHPBuildPreProcessor.cs b/Editor/PCHighPerformance/PCHPBuildPreProcessor.cs new file mode 100644 index 000000000..2185226bf --- /dev/null +++ b/Editor/PCHighPerformance/PCHPBuildPreProcessor.cs @@ -0,0 +1,174 @@ +using UnityEngine; +using UnityEditor; +using UnityEditor.Build; +using UnityEditor.Build.Reporting; +using UnityEditor.SceneManagement; +using System.IO; + +namespace WeChatWASM +{ + /// + /// PC高性能小游戏构建预处理器 + /// 负责在构建前向首场景注入 WXPCHPInitScript + /// + public class PCHPBuildPreProcessor : IPreprocessBuildWithReport + { + // SDK 脚本名称常量 + private const string SDK_CLASS_NAME = "WeChatWASM.WXPCHPInitScript"; + private const string SDK_GAMEOBJECT_NAME = "WXPCHPInitScript"; + + public int callbackOrder => 0; + + public void OnPreprocessBuild(BuildReport report) + { + Debug.Log("========================================"); + Debug.Log("[PC高性能小游戏] PCHPBuildPreProcessor.OnPreprocessBuild 被调用"); + Debug.Log("========================================"); + + // 只处理 Windows/Mac Standalone 构建 + var buildTarget = report.summary.platform; + if (buildTarget != BuildTarget.StandaloneWindows64 && + buildTarget != BuildTarget.StandaloneOSX) + { + Debug.LogWarning($"[PC高性能小游戏] 当前平台 {buildTarget} 不是 Windows/Mac,跳过预处理"); + return; + } + + Debug.Log("[PC高性能小游戏] 开始预处理构建..."); + + try + { + Debug.Log("[PC高性能小游戏] → 步骤1: 检查 WXPCHPInitScript 脚本是否存在"); + EnsureSDKScriptExists(); + + Debug.Log("[PC高性能小游戏] → 步骤2: 向首场景注入 SDK GameObject"); + InjectSDKToFirstScene(); + + Debug.Log("[PC高性能小游戏] ✅ 预处理完成!"); + } + catch (System.Exception e) + { + Debug.LogError("========================================"); + Debug.LogError($"[PC高性能小游戏] ❌ 预处理失败: {e.Message}\n{e.StackTrace}"); + Debug.LogError("========================================"); + throw; + } + } + + /// + /// 在所有程序集中查找类型 + /// + private System.Type FindTypeInAllAssemblies(string typeName) + { + foreach (var assembly in System.AppDomain.CurrentDomain.GetAssemblies()) + { + var type = assembly.GetType(typeName); + if (type != null) + { + return type; + } + } + return null; + } + + /// + /// 确保 WXPCHPInitScript 脚本存在 + /// + private void EnsureSDKScriptExists() + { + var sdkType = FindTypeInAllAssemblies(SDK_CLASS_NAME); + if (sdkType != null) + { + Debug.Log($"[PC高性能小游戏] ✅ WXPCHPInitScript 脚本已加载 (程序集: {sdkType.Assembly.GetName().Name})"); + return; + } + + // 脚本应该在 SDK Runtime 目录,如果找不到说明 SDK 安装有问题 + Debug.LogError("[PC高性能小游戏] ❌ 找不到 WXPCHPInitScript 类型"); + Debug.LogError("[PC高性能小游戏] 请确保 WX-WASM-SDK-V2 已正确安装"); + throw new BuildFailedException("[PC高性能小游戏] 缺少 WXPCHPInitScript 脚本,请检查 SDK 安装"); + } + + /// + /// 向第一个启用的场景注入 SDK GameObject + /// + private void InjectSDKToFirstScene() + { + var firstScenePath = GetFirstEnabledScene(); + if (string.IsNullOrEmpty(firstScenePath)) + { + Debug.LogWarning("[PC高性能小游戏] 没有找到启用的场景,跳过注入"); + return; + } + + var currentScenes = EditorSceneManager.GetSceneManagerSetup(); + var scene = EditorSceneManager.OpenScene(firstScenePath, OpenSceneMode.Single); + + // 删除旧的对象(兼容从 EmbeddedAppletSDK 迁移) + var oldSDK = GameObject.Find("EmbeddedAppletSDK"); + if (oldSDK != null) + { + Debug.Log("[PC高性能小游戏] 删除旧的 EmbeddedAppletSDK 对象"); + GameObject.DestroyImmediate(oldSDK); + } + + // 检查是否已存在新的 SDK 对象 + var existingSDK = GameObject.Find(SDK_GAMEOBJECT_NAME); + if (existingSDK != null) + { + Debug.Log($"[PC高性能小游戏] 场景中已存在 {SDK_GAMEOBJECT_NAME},重新创建"); + GameObject.DestroyImmediate(existingSDK); + } + + // 创建 GameObject 并添加组件 + var sdkObject = new GameObject(SDK_GAMEOBJECT_NAME); + var sdkType = FindTypeInAllAssemblies(SDK_CLASS_NAME); + + if (sdkType != null) + { + var assemblyName = sdkType.Assembly.GetName().Name; + Debug.Log($"[PC高性能小游戏] 找到 WXPCHPInitScript,程序集: {assemblyName}"); + + if (assemblyName.Contains("Editor")) + { + Debug.LogError("[PC高性能小游戏] ❌ WXPCHPInitScript 在 Editor 程序集中!"); + GameObject.DestroyImmediate(sdkObject); + throw new BuildFailedException("[PC高性能小游戏] WXPCHPInitScript 必须在 Runtime 程序集"); + } + + sdkObject.AddComponent(sdkType); + Debug.Log($"[PC高性能小游戏] ✅ 已在 {scene.name} 中创建 {SDK_GAMEOBJECT_NAME} 并添加组件"); + } + else + { + Debug.LogError("[PC高性能小游戏] ❌ 找不到 WXPCHPInitScript 类型"); + GameObject.DestroyImmediate(sdkObject); + throw new BuildFailedException("[PC高性能小游戏] 无法找到 WXPCHPInitScript 组件"); + } + + EditorSceneManager.MarkSceneDirty(scene); + EditorSceneManager.SaveScene(scene); + RestoreScenes(currentScenes); + } + + private string GetFirstEnabledScene() + { + foreach (var scene in EditorBuildSettings.scenes) + { + if (scene.enabled) + { + return scene.path; + } + } + return null; + } + + private void RestoreScenes(UnityEditor.SceneManagement.SceneSetup[] setup) + { + if (setup != null && setup.Length > 0) + { + EditorSceneManager.RestoreSceneManagerSetup(setup); + } + } + } +} diff --git a/Editor/PCHighPerformance/PCHPBuildPreProcessor.cs.meta b/Editor/PCHighPerformance/PCHPBuildPreProcessor.cs.meta new file mode 100644 index 000000000..6e74db546 --- /dev/null +++ b/Editor/PCHighPerformance/PCHPBuildPreProcessor.cs.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: b2764f66c7a7ee9dfaf53ffe5f6215d0 +DefaultImporter: +externalObjects: {} +userData: +assetBundleName: +assetBundleVariant: \ No newline at end of file diff --git a/Editor/PCHighPerformance/README_AutoInjection.md b/Editor/PCHighPerformance/README_AutoInjection.md new file mode 100644 index 000000000..f957d2041 --- /dev/null +++ b/Editor/PCHighPerformance/README_AutoInjection.md @@ -0,0 +1,110 @@ +# PC高性能小游戏 - 自动化构建注入 + +## 📂 文件结构 + +``` +WX-WASM-SDK-V2/ +├── Editor/PCHighPerformance/ +│ ├── PCHPBuildPreProcessor.cs # 构建预处理器(自动注入) +│ ├── PCHPDebugHelper.cs # 调试工具 +│ ├── WXPCSettingHelper.cs # 构建配置助手 +│ └── WXEditorPCHPWindow.cs # 编辑器窗口 +└── Runtime/ + └── WXPCHPInitScript.cs # SDK 运行时脚本 +``` + +--- + +## 🎯 功能说明 + +### 自动注入机制 + +**触发时机**:开发者点击「生成并转换」按钮,Unity 开始构建 Windows/macOS 平台前 + +**工作流程**: + +``` +构建开始 + ↓ +PCHPBuildPreProcessor.OnPreprocessBuild() 触发 + ↓ +Step 1: 检查 WXPCHPInitScript 是否已加载 + ├── 已加载 → 继续 + └── 未加载 → 报错中断(SDK 安装问题) + ↓ +Step 2: 打开首个启用场景 + ↓ +Step 3: 检查场景是否已有 "WXPCHPInitScript" GameObject + ├── 有 → 删除重建 + └── 没有 → 创建新 GameObject + 添加 WXPCHPInitScript 组件 + ↓ +Step 4: 保存场景并恢复原始布局 + ↓ +继续正常构建流程 +``` + +--- + +## ✅ 关键特性 + +1. **零侵入**:不修改开发者当前打开的场景 +2. **智能检测**:自动检测是否已存在脚本/对象 +3. **SDK 内置**:脚本位于 SDK Runtime 目录,无需复制到用户项目 +4. **命名空间隔离**:使用 `WeChatWASM` 命名空间避免冲突 + +--- + +## 🔧 配置说明 + +### 脚本位置 + +``` +Assets/WX-WASM-SDK-V2/Runtime/WXPCHPInitScript.cs +``` + +**类名**:`WeChatWASM.WXPCHPInitScript` + +**作用**:运行时初始化 PC 高性能小游戏 SDK,与宿主程序通信 + +--- + +## 🐛 常见问题 + +### Q: 为什么导出的工程没有 SDK 对象? + +检查 Console 日志: +- ✅ `[PC高性能小游戏] ✅ 已在 XXX 中创建 WXPCHPInitScript 并添加组件` → 成功 +- ⚠️ `找不到 WXPCHPInitScript 类型` → SDK 未正确安装 + +### Q: DLL 加载失败? + +**原因**:`direct_applet_sdk.dll` 必须在 **运行时** 的根目录(与 .exe 同级) + +**解决**:确保宿主程序启动时提供 DLL + +--- + +## 📝 技术细节 + +| 项 | 值 | +|---|---| +| 触发接口 | `IPreprocessBuildWithReport` | +| 回调优先级 | `callbackOrder = 0` | +| 支持平台 | Windows x64, macOS | +| 场景修改策略 | 临时打开 → 注入 → 保存 → 恢复 | +| 类全名 | `WeChatWASM.WXPCHPInitScript` | + +--- + +## 🔄 更新日志 + +### v1.1.0 (2026-03-02) +- ✅ 重命名 `EmbeddedAppletSDK` → `WXPCHPInitScript` +- ✅ 迁移脚本到 Runtime 目录(解决 Editor 脚本无法挂载问题) +- ✅ 添加 `WeChatWASM` 命名空间 +- ✅ 移除模板复制机制(脚本现在内置于 SDK) + +### v1.0.0 (2026-03-02) +- ✅ 实现自动注入 EmbeddedAppletSDK GameObject +- ✅ 智能检测并复制模板脚本 +- ✅ 兼容 Windows 和 macOS 构建 diff --git a/Editor/PCHighPerformance/README_AutoInjection.md.meta b/Editor/PCHighPerformance/README_AutoInjection.md.meta new file mode 100644 index 000000000..f42ff1083 --- /dev/null +++ b/Editor/PCHighPerformance/README_AutoInjection.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: aacc596790ffe1aad08acb624adcdfaa +DefaultImporter: +externalObjects: {} +userData: +assetBundleName: +assetBundleVariant: \ No newline at end of file diff --git a/Editor/PCHighPerformance/TROUBLESHOOTING.md b/Editor/PCHighPerformance/TROUBLESHOOTING.md new file mode 100644 index 000000000..6f2d05f13 --- /dev/null +++ b/Editor/PCHighPerformance/TROUBLESHOOTING.md @@ -0,0 +1,152 @@ +# PC高性能小游戏 - 问题排查指南 + +## 🐛 问题1:设置面板数据被清空 + +### 原因 +`OnLostFocus()` 时机不对,输入框的值可能还未同步到 `formInputData` + +### 解决方案 ✅ +已修复:在 `OnSettingsGUI()` 中添加 `GUI.changed` 检测,每次输入时自动保存 + +--- + +## 🐛 问题2:ShowInfo 逻辑未执行 + +### 可能原因 + +#### 1. DLL 未找到 (最常见 90%) +**症状**:运行 .exe 后没有任何弹窗 +**原因**:`direct_applet_sdk.dll` 不在 .exe 同级目录 + +**验证**: +```bash +# 检查导出目录结构 +导出路径/ +├── YourGame.exe +├── direct_applet_sdk.dll ← 必须存在 +└── YourGame_Data/ +``` + +**解决**: +- 确保 DLL 在运行时根目录 +- 查看 Unity Player.log: + - Windows: `%APPDATA%\..\LocalLow\\\Player.log` + - 搜索关键字: `[WXPCHPInitScript]` 或 `DllNotFoundException` + +--- + +#### 2. GameObject 未注入 (10%) +**症状**:构建后场景中没有 `WXPCHPInitScript` 对象 + +**验证**:使用调试工具 +``` +Unity 菜单 → 微信小游戏 → PC高性能调试 → 检查SDK注入状态 +``` + +**可能的问题**: +- ❌ Build Settings 中没有启用场景 +- ❌ 构建前 `PCHPBuildPreProcessor` 未执行 +- ❌ SDK 未正确安装 + +**解决**: +1. 确保 Build Settings 有至少一个启用场景 +2. 查看 Console 日志: + ``` + [PC高性能小游戏] 开始预处理构建... + [PC高性能小游戏] ✅ 已在 XXX 中创建 WXPCHPInitScript 并添加组件 + ``` + +--- + +## 🔍 调试步骤(按顺序) + +### Step 1: 检查 SDK 注入状态 +``` +Unity 菜单 → 微信小游戏 → PC高性能调试 → 检查SDK注入状态 +``` + +✅ 正常输出示例: +``` +[构建场景] 启用的场景数: 1 + ✅ 首场景: Assets/Scenes/Main.unity + ✅ 找到 SDK GameObject: WXPCHPInitScript + ✅ 挂载的脚本: WeChatWASM.WXPCHPInitScript + +[类型加载检查] + ✅ WXPCHPInitScript 类型已加载 + 程序集: WxWasmSDKRuntime +``` + +--- + +### Step 2: 检查导出路径 +``` +Unity 菜单 → 微信小游戏 → PC高性能调试 → 查看导出路径 +``` + +确认: +- ✅ 目录存在 +- ✅ 有 .exe 文件 + +--- + +### Step 3: 运行 .exe 并查看日志 + +**日志位置**: +``` +Windows: %APPDATA%\..\LocalLow\YourCompany\YourProduct\Player.log +Mac: ~/Library/Logs/Company Name/Product Name/Player.log +``` + +**搜索关键字**: +``` +[WXPCHPInitScript] +DllNotFoundException +InitEmbeddedGameSDK +``` + +**正常日志**: +``` +[WXPCHPInitScript] ========== Awake 被调用 ========== +[WXPCHPInitScript] GameObject 名称: WXPCHPInitScript +[WXPCHPInitScript] ========== 开始初始化 ========== +[WXPCHPInitScript] Step 1: 调用 InitEmbeddedGameSDK +[WXPCHPInitScript] InitEmbeddedGameSDK 成功 +... +``` + +**异常日志**: +``` +DllNotFoundException: Unable to load DLL 'direct_applet_sdk.dll' + → 解决: 复制 DLL 到 .exe 同级目录 +``` + +--- + +## 📝 快速检查清单 + +- [ ] Build Settings 中有启用的场景 +- [ ] 构建时 Console 有 `[PC高性能小游戏] 预处理完成!` 日志 +- [ ] 导出目录包含 `.exe` 和 `direct_applet_sdk.dll` +- [ ] 运行 .exe 后有弹窗或 Player.log 有日志 + +--- + +## 🛠️ 调试工具菜单 + +| 菜单项 | 功能 | +|--------|------| +| 检查SDK注入状态 | 验证场景中是否有 SDK 对象和脚本 | +| 查看导出路径 | 显示配置的导出路径和状态 | +| 打开导出目录 | 在文件管理器中打开导出目录 | + +--- + +## 💡 常见错误代码 + +| 错误信息 | 原因 | 解决方法 | +|----------|------|----------| +| `DllNotFoundException` | DLL 未找到 | 复制 DLL 到 .exe 同级目录 | +| `EntryPointNotFoundException` | 函数不存在 | 检查 DLL 版本是否匹配 | +| `找不到 WXPCHPInitScript 类型` | SDK 未安装 | 重新导入 WX-WASM-SDK-V2 | +| `GetActiveWindow 返回空句柄` | 窗口未创建 | 延迟初始化或检查 Unity Player 设置 | diff --git a/Editor/PCHighPerformance/TROUBLESHOOTING.md.meta b/Editor/PCHighPerformance/TROUBLESHOOTING.md.meta new file mode 100644 index 000000000..2147b9adf --- /dev/null +++ b/Editor/PCHighPerformance/TROUBLESHOOTING.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 8b57398b893716f5822f5e196466fee6 +DefaultImporter: +externalObjects: {} +userData: +assetBundleName: +assetBundleVariant: \ No newline at end of file diff --git a/Editor/PCHighPerformance/WXApkgPacker.cs b/Editor/PCHighPerformance/WXApkgPacker.cs new file mode 100644 index 000000000..2b63f65cd --- /dev/null +++ b/Editor/PCHighPerformance/WXApkgPacker.cs @@ -0,0 +1,267 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Text; +using UnityEngine; + +namespace WeChatWASM +{ + /// + /// wxapkg 文件打包器 + /// 将目录内容打包成 .wxapkg 格式 + /// + /// wxapkg 格式结构: + /// 1. 头部段 (14 字节) + /// - 起始标志: 1 字节 (0xBE) + /// - 未知字段: 4 字节 (固定为 0) + /// - 结束标志: 1 字节 (0xED) + /// - 索引段长度: 4 字节 (大端序) + /// - 数据段长度: 4 字节 (大端序) + /// 2. 索引段 + /// - 文件数量: 4 字节 (大端序) + /// - 文件信息块序列(每个文件): + /// - 文件名长度: 4 字节 (大端序) + /// - 文件名: 可变长度 (UTF-8) + /// - 文件偏移: 4 字节 (大端序) + /// - 文件长度: 4 字节 (大端序) + /// 3. 数据段 + /// - 实际文件内容的二进制数据 + /// + public static class WXApkgPacker + { + private const byte HEADER_MARK_START = 0xBE; + private const byte HEADER_MARK_END = 0xED; + private const int HEADER_SIZE = 14; + + /// + /// 文件信息结构 + /// + private class FileInfo + { + public string RelativePath; // 相对路径(以 / 开头) + public string FullPath; // 完整路径 + public int Size; // 文件大小 + public int Offset; // 在数据段中的偏移 + } + + /// + /// 将目录打包成 wxapkg 文件 + /// + /// 源目录路径 + /// 输出的 wxapkg 文件路径 + /// 是否成功 + public static bool Pack(string sourceDir, string outputPath) + { + try + { + if (!Directory.Exists(sourceDir)) + { + Debug.LogError($"[WXApkgPacker] 源目录不存在: {sourceDir}"); + return false; + } + + // 收集所有文件信息 + var files = CollectFiles(sourceDir); + if (files.Count == 0) + { + Debug.LogError($"[WXApkgPacker] 目录为空: {sourceDir}"); + return false; + } + + Debug.Log($"[WXApkgPacker] 收集到 {files.Count} 个文件"); + + // 构建索引段 + byte[] indexData = BuildIndexSection(files); + + // 构建数据段 + byte[] dataSection = BuildDataSection(files); + + // 构建头部 + byte[] header = BuildHeader(indexData.Length, dataSection.Length); + + // 确保输出目录存在 + string outputDir = Path.GetDirectoryName(outputPath); + if (!string.IsNullOrEmpty(outputDir) && !Directory.Exists(outputDir)) + { + Directory.CreateDirectory(outputDir); + } + + // 写入文件 + using (var fs = new FileStream(outputPath, FileMode.Create, FileAccess.Write)) + { + fs.Write(header, 0, header.Length); + fs.Write(indexData, 0, indexData.Length); + fs.Write(dataSection, 0, dataSection.Length); + } + + long totalSize = header.Length + indexData.Length + dataSection.Length; + Debug.Log($"[WXApkgPacker] 打包完成: {outputPath}"); + Debug.Log($"[WXApkgPacker] 文件大小: {totalSize / 1024.0 / 1024.0:F2} MB"); + + return true; + } + catch (Exception e) + { + Debug.LogError($"[WXApkgPacker] 打包失败: {e.Message}"); + Debug.LogException(e); + return false; + } + } + + /// + /// 收集目录下所有文件 + /// + private static List CollectFiles(string sourceDir) + { + var files = new List(); + var allFiles = Directory.GetFiles(sourceDir, "*", SearchOption.AllDirectories); + + foreach (var filePath in allFiles) + { + // 跳过 .DS_Store 等隐藏文件 + string fileName = Path.GetFileName(filePath); + if (fileName.StartsWith(".")) + { + continue; + } + + // 计算相对路径(使用正斜杠,以 / 开头) + string relativePath = filePath.Substring(sourceDir.Length); + relativePath = relativePath.Replace('\\', '/'); + if (!relativePath.StartsWith("/")) + { + relativePath = "/" + relativePath; + } + + var info = new System.IO.FileInfo(filePath); + files.Add(new FileInfo + { + RelativePath = relativePath, + FullPath = filePath, + Size = (int)info.Length + }); + } + + // 按路径排序,保持一致性 + files.Sort((a, b) => string.Compare(a.RelativePath, b.RelativePath, StringComparison.Ordinal)); + + return files; + } + + /// + /// 构建头部段 (14 字节) + /// + private static byte[] BuildHeader(int indexLength, int dataLength) + { + byte[] header = new byte[HEADER_SIZE]; + + // 起始标志 + header[0] = HEADER_MARK_START; + + // 4 字节未知字段 (固定为 0) + header[1] = 0; + header[2] = 0; + header[3] = 0; + header[4] = 0; + + // 结束标志 + header[5] = HEADER_MARK_END; + + // 索引段长度 (大端序) + WriteInt32BE(header, 6, indexLength); + + // 数据段长度 (大端序) + WriteInt32BE(header, 10, dataLength); + + return header; + } + + /// + /// 构建索引段 + /// + private static byte[] BuildIndexSection(List files) + { + using (var ms = new MemoryStream()) + using (var writer = new BinaryWriter(ms)) + { + // 文件数量 (大端序) + WriteInt32BE(writer, files.Count); + + // 计算数据段起始偏移 + // 偏移量 = 头部大小 + 索引段大小 + // 需要先计算索引段大小 + int indexSize = 4; // 文件数量 + foreach (var file in files) + { + byte[] nameBytes = Encoding.UTF8.GetBytes(file.RelativePath); + indexSize += 4 + nameBytes.Length + 4 + 4; // nameLen + name + offset + size + } + + int dataOffset = HEADER_SIZE + indexSize; + + // 写入每个文件的索引信息 + foreach (var file in files) + { + byte[] nameBytes = Encoding.UTF8.GetBytes(file.RelativePath); + + // 文件名长度 (大端序) + WriteInt32BE(writer, nameBytes.Length); + + // 文件名 + writer.Write(nameBytes); + + // 文件偏移 (大端序) + file.Offset = dataOffset; + WriteInt32BE(writer, dataOffset); + + // 文件大小 (大端序) + WriteInt32BE(writer, file.Size); + + // 更新下一个文件的偏移 + dataOffset += file.Size; + } + + return ms.ToArray(); + } + } + + /// + /// 构建数据段 + /// + private static byte[] BuildDataSection(List files) + { + using (var ms = new MemoryStream()) + { + foreach (var file in files) + { + byte[] content = File.ReadAllBytes(file.FullPath); + ms.Write(content, 0, content.Length); + } + + return ms.ToArray(); + } + } + + /// + /// 写入 32 位大端序整数到字节数组 + /// + private static void WriteInt32BE(byte[] buffer, int offset, int value) + { + buffer[offset] = (byte)((value >> 24) & 0xFF); + buffer[offset + 1] = (byte)((value >> 16) & 0xFF); + buffer[offset + 2] = (byte)((value >> 8) & 0xFF); + buffer[offset + 3] = (byte)(value & 0xFF); + } + + /// + /// 写入 32 位大端序整数到流 + /// + private static void WriteInt32BE(BinaryWriter writer, int value) + { + writer.Write((byte)((value >> 24) & 0xFF)); + writer.Write((byte)((value >> 16) & 0xFF)); + writer.Write((byte)((value >> 8) & 0xFF)); + writer.Write((byte)(value & 0xFF)); + } + } +} diff --git a/Editor/PCHighPerformance/WXApkgPacker.cs.meta b/Editor/PCHighPerformance/WXApkgPacker.cs.meta new file mode 100644 index 000000000..adba7733d --- /dev/null +++ b/Editor/PCHighPerformance/WXApkgPacker.cs.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: c5e90582a5951eff22c3b110229de415 +DefaultImporter: +externalObjects: {} +userData: +assetBundleName: +assetBundleVariant: \ No newline at end of file diff --git a/Editor/PCHighPerformance/WXPCHPBuildHelper.cs b/Editor/PCHighPerformance/WXPCHPBuildHelper.cs new file mode 100644 index 000000000..f2f4d2af9 --- /dev/null +++ b/Editor/PCHighPerformance/WXPCHPBuildHelper.cs @@ -0,0 +1,349 @@ +using System.Collections.Generic; +using System.IO; +using UnityEngine; +using UnityEditor; +using UnityEditor.Build.Reporting; + +namespace WeChatWASM +{ + /// + /// PC高性能小游戏构建辅助类 + /// 用于在微信小游戏转换工具面板中集成PC高性能模式构建 + /// + public static class WXPCHPBuildHelper + { + /// + /// PC高性能构建产物目录名 + /// + public const string PCHPOutputDir = "pchpcode"; + + /// + /// 检查是否开启了PC高性能模式 + /// + public static bool IsPCHighPerformanceEnabled() + { + var config = UnityUtil.GetEditorConf(); + bool enabled = config != null && config.ProjectConf.EnablePCHighPerformance; + Debug.Log($"[PC高性能模式] 检查配置: config={config != null}, EnablePCHighPerformance={config?.ProjectConf?.EnablePCHighPerformance}, 结果={enabled}"); + return enabled; + } + + /// + /// 执行PC高性能构建 + /// + /// 导出基础路径(来自小游戏面板配置) + /// 构建是否成功 + public static bool BuildPCHighPerformance(string exportBasePath) + { + if (string.IsNullOrEmpty(exportBasePath)) + { + Debug.LogError("[PC高性能模式] 导出路径为空,无法构建"); + return false; + } + + // 确定构建目标平台 + var currentPlatform = Application.platform; + BuildTarget buildTarget; + string platformName; + + if (currentPlatform == RuntimePlatform.OSXEditor) + { + buildTarget = BuildTarget.StandaloneOSX; + platformName = "Mac"; + } + else + { + buildTarget = BuildTarget.StandaloneWindows64; + platformName = "Windows"; + } + + // 构建输出路径:直接放在 minigame/pchpcode 目录下 + string pchpOutputPath = Path.Combine(exportBasePath, WXConvertCore.miniGameDir, PCHPOutputDir); + + Debug.Log($"[PC高性能模式] 开始构建,目标平台: {platformName}"); + Debug.Log($"[PC高性能模式] 输出路径: {pchpOutputPath}"); + + // 保存当前构建目标 + var originalTarget = EditorUserBuildSettings.activeBuildTarget; + var originalTargetGroup = EditorUserBuildSettings.selectedBuildTargetGroup; + + try + { + // 切换构建目标(如果需要) + if (originalTarget != buildTarget) + { + Debug.Log($"[PC高性能模式] 切换构建目标: {originalTarget} -> {buildTarget}"); + if (!EditorUserBuildSettings.SwitchActiveBuildTarget(BuildTargetGroup.Standalone, buildTarget)) + { + Debug.LogError("[PC高性能模式] 切换构建目标失败"); + return false; + } + } + + // 配置 Player Settings + ConfigurePlayerSettings(); + + // 确保输出目录存在 + if (!Directory.Exists(pchpOutputPath)) + { + Directory.CreateDirectory(pchpOutputPath); + } + + // 获取可执行文件路径 + string executablePath = GetExecutablePath(pchpOutputPath, buildTarget); + + // 获取场景列表 + var scenes = GetEnabledScenes(); + if (scenes.Length == 0) + { + Debug.LogError("[PC高性能模式] 没有启用的场景,请在 Build Settings 中添加场景"); + EditorUtility.DisplayDialog("PC高性能模式构建失败", "没有启用的场景,请在 Build Settings 中添加场景", "确定"); + return false; + } + + // 构建选项 + var buildOptions = BuildOptions.None; + + // 执行构建 + Debug.Log($"[PC高性能模式] 执行构建,输出: {executablePath}"); + var report = BuildPipeline.BuildPlayer(scenes, executablePath, buildTarget, buildOptions); + + // 检查构建结果 + if (report.summary.result == BuildResult.Succeeded) + { + Debug.Log($"[PC高性能模式] 构建成功! 耗时: {report.summary.totalTime.TotalSeconds:F2}秒"); + Debug.Log($"[PC高性能模式] 输出路径: {pchpOutputPath}"); + + // 打包成 wxapkg 格式(先打包到临时位置) + string tempWxapkgPath = Path.Combine(exportBasePath, WXConvertCore.miniGameDir, $"{PCHPOutputDir}_temp.wxapkg"); + string finalWxapkgPath = Path.Combine(pchpOutputPath, $"{PCHPOutputDir}.wxapkg"); + + Debug.Log($"[PC高性能模式] 开始打包 wxapkg..."); + + if (WXApkgPacker.Pack(pchpOutputPath, tempWxapkgPath)) + { + // 删除原始构建材料 + Debug.Log($"[PC高性能模式] 清理原始构建材料..."); + Directory.Delete(pchpOutputPath, true); + + // 重新创建目录并移动 wxapkg + Directory.CreateDirectory(pchpOutputPath); + File.Move(tempWxapkgPath, finalWxapkgPath); + + // 创建空的 game.js 文件 + string gameJsPath = Path.Combine(pchpOutputPath, "game.js"); + File.WriteAllText(gameJsPath, ""); + Debug.Log($"[PC高性能模式] 已创建 game.js: {gameJsPath}"); + + Debug.Log($"[PC高性能模式] wxapkg 打包完成: {finalWxapkgPath}"); + } + else + { + Debug.LogWarning("[PC高性能模式] wxapkg 打包失败,保留原始构建产物"); + if (File.Exists(tempWxapkgPath)) + { + File.Delete(tempWxapkgPath); + } + } + + return true; + } + else + { + Debug.LogError($"[PC高性能模式] 构建失败: {report.summary.result}"); + foreach (var step in report.steps) + { + foreach (var message in step.messages) + { + if (message.type == LogType.Error) + { + Debug.LogError($"[PC高性能模式] 构建错误: {message.content}"); + } + } + } + return false; + } + } + catch (System.Exception e) + { + Debug.LogError($"[PC高性能模式] 构建异常: {e.Message}"); + Debug.LogException(e); + return false; + } + finally + { + // 恢复到小游戏构建目标,确保微信小游戏转换工具能正常加载 + RestoreToMiniGamePlatform(); + } + } + + /// + /// 恢复到小游戏平台 + /// 团结引擎使用 WeixinMiniGame,Unity 使用 WebGL + /// + private static void RestoreToMiniGamePlatform() + { +#if TUANJIE_2022_3_OR_NEWER + // 团结引擎:切换到 WeixinMiniGame 平台 + if (EditorUserBuildSettings.activeBuildTarget != BuildTarget.WeixinMiniGame) + { + Debug.Log($"[PC高性能模式] 切换回 WeixinMiniGame 构建目标"); + EditorUserBuildSettings.SwitchActiveBuildTarget(BuildTargetGroup.WeixinMiniGame, BuildTarget.WeixinMiniGame); + } + + // 激活微信小游戏子平台 + ActivateWeixinSubplatform(); +#else + // Unity:切换到 WebGL 平台 + if (EditorUserBuildSettings.activeBuildTarget != BuildTarget.WebGL) + { + Debug.Log($"[PC高性能模式] 切换回 WebGL 构建目标"); + EditorUserBuildSettings.SwitchActiveBuildTarget(BuildTargetGroup.WebGL, BuildTarget.WebGL); + } +#endif + } + +#if TUANJIE_2022_3_OR_NEWER + /// + /// 激活微信小游戏子平台(通过反射调用,避免编译期对 MiniGameSubplatform 枚举的硬依赖) + /// + private static void ActivateWeixinSubplatform() + { + try + { + // 通过反射查找 MiniGameSubplatform 枚举类型和 SetActiveSubplatform 方法 + // 因为 MiniGameSubplatform 可能在不同团结版本中命名空间不同 + var miniGameType = typeof(PlayerSettings).GetNestedType("MiniGame"); + if (miniGameType == null) + { + Debug.LogWarning("[PC高性能模式] 未找到 PlayerSettings.MiniGame 类型,跳过子平台激活"); + return; + } + + var setActiveMethod = miniGameType.GetMethod("SetActiveSubplatform", + System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static); + if (setActiveMethod == null) + { + Debug.LogWarning("[PC高性能模式] 未找到 SetActiveSubplatform 方法,跳过子平台激活"); + return; + } + + // 查找 MiniGameSubplatform 枚举 + System.Type subplatformEnumType = null; + foreach (var asm in System.AppDomain.CurrentDomain.GetAssemblies()) + { + subplatformEnumType = asm.GetType("MiniGameSubplatform") ?? asm.GetType("UnityEditor.MiniGameSubplatform"); + if (subplatformEnumType != null) break; + } + + if (subplatformEnumType == null) + { + Debug.LogWarning("[PC高性能模式] 未找到 MiniGameSubplatform 枚举类型,跳过子平台激活"); + return; + } + + var wechatValue = System.Enum.Parse(subplatformEnumType, "WeChat"); + setActiveMethod.Invoke(null, new object[] { wechatValue, true }); + Debug.Log("[PC高性能模式] 已激活微信小游戏子平台"); + } + catch (System.Exception e) + { + Debug.LogWarning($"[PC高性能模式] 激活微信小游戏子平台失败: {e.Message}"); + } + } +#endif + + /// + /// 配置 Player Settings 用于 PC 高性能构建 + /// + private static void ConfigurePlayerSettings() + { + // 设置窗口模式 + PlayerSettings.fullScreenMode = FullScreenMode.Windowed; + + // 设置默认分辨率 + PlayerSettings.defaultScreenWidth = 1280; + PlayerSettings.defaultScreenHeight = 720; + + // 允许调整窗口大小 + PlayerSettings.resizableWindow = true; + + // 处理 Windows 上 Linear 色彩空间与图形 API 的兼容性问题 + if (Application.platform == RuntimePlatform.WindowsEditor) + { + ConfigureWindowsGraphicsAPI(); + } + + Debug.Log("[PC高性能模式] Player Settings 配置完成"); + } + + /// + /// 配置 Windows 图形 API,解决 Linear 色彩空间兼容性问题 + /// + private static void ConfigureWindowsGraphicsAPI() + { + // 检查当前色彩空间 + bool isLinear = PlayerSettings.colorSpace == ColorSpace.Linear; + + if (isLinear) + { + // Linear 色彩空间需要 DX11 或更高版本 + // 禁用自动图形 API,手动指定兼容的 API + PlayerSettings.SetUseDefaultGraphicsAPIs(BuildTarget.StandaloneWindows64, false); + + var graphicsAPIs = new UnityEngine.Rendering.GraphicsDeviceType[] + { + UnityEngine.Rendering.GraphicsDeviceType.Direct3D11, + UnityEngine.Rendering.GraphicsDeviceType.Direct3D12, + UnityEngine.Rendering.GraphicsDeviceType.Vulkan + }; + + PlayerSettings.SetGraphicsAPIs(BuildTarget.StandaloneWindows64, graphicsAPIs); + Debug.Log("[PC高性能模式] 已配置 Windows 图形 API: D3D11, D3D12, Vulkan(Linear 色彩空间兼容)"); + } + else + { + // Gamma 色彩空间,使用默认图形 API 即可 + PlayerSettings.SetUseDefaultGraphicsAPIs(BuildTarget.StandaloneWindows64, true); + Debug.Log("[PC高性能模式] 使用默认 Windows 图形 API(Gamma 色彩空间)"); + } + } + + /// + /// 获取可执行文件路径 + /// + private static string GetExecutablePath(string outputPath, BuildTarget target) + { + string productName = PlayerSettings.productName; + if (string.IsNullOrEmpty(productName)) + { + productName = "Game"; + } + + if (target == BuildTarget.StandaloneOSX) + { + return Path.Combine(outputPath, $"{productName}.app"); + } + else + { + return Path.Combine(outputPath, $"{productName}.exe"); + } + } + + /// + /// 获取启用的场景列表 + /// + private static string[] GetEnabledScenes() + { + var scenes = new List(); + foreach (var scene in EditorBuildSettings.scenes) + { + if (scene.enabled) + { + scenes.Add(scene.path); + } + } + return scenes.ToArray(); + } + } +} diff --git a/Editor/PCHighPerformance/WXPCHPBuildHelper.cs.meta b/Editor/PCHighPerformance/WXPCHPBuildHelper.cs.meta new file mode 100644 index 000000000..1d14e1083 --- /dev/null +++ b/Editor/PCHighPerformance/WXPCHPBuildHelper.cs.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 1455a91f4635862b70423ea92eff07bb +DefaultImporter: +externalObjects: {} +userData: +assetBundleName: +assetBundleVariant: \ No newline at end of file diff --git a/Editor/PCHighPerformance/WXPCHPWindow.cs b/Editor/PCHighPerformance/WXPCHPWindow.cs new file mode 100644 index 000000000..686396807 --- /dev/null +++ b/Editor/PCHighPerformance/WXPCHPWindow.cs @@ -0,0 +1,39 @@ +using UnityEngine; +using UnityEditor; + +namespace WeChatWASM +{ + + public class WXPCHPWin : EditorWindow + { + [MenuItem("微信小游戏 / 转换PC高性能模式", false, 3)] + public static void Open() + { + var win = GetWindow(typeof(WXPCHPWin), false, "PC高性能模式转换工具"); + win.minSize = new Vector2(350, 200); + win.position = new Rect(150, 150, 500, 300); + win.Show(); + } + + public void OnFocus() + { + WXPCSettingsHelperInterface.helper.OnFocus(); + } + + public void OnLostFocus() + { + WXPCSettingsHelperInterface.helper.OnLostFocus(); + } + + public void OnDisable() + { + WXPCSettingsHelperInterface.helper.OnDisable(); + } + + public void OnGUI() + { + WXPCSettingsHelperInterface.helper.OnSettingsGUI(this); + WXPCSettingsHelperInterface.helper.OnBuildButtonGUI(this); + } + } +} diff --git a/Editor/PCHighPerformance/WXPCHPWindow.cs.meta b/Editor/PCHighPerformance/WXPCHPWindow.cs.meta new file mode 100644 index 000000000..8678332a2 --- /dev/null +++ b/Editor/PCHighPerformance/WXPCHPWindow.cs.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 1f0df5132a2e6c4a2e5541e3472a6422 +DefaultImporter: +externalObjects: {} +userData: +assetBundleName: +assetBundleVariant: \ No newline at end of file diff --git a/Editor/PCHighPerformance/WXPCSettingHelper.cs b/Editor/PCHighPerformance/WXPCSettingHelper.cs new file mode 100644 index 000000000..c1b7e8cc9 --- /dev/null +++ b/Editor/PCHighPerformance/WXPCSettingHelper.cs @@ -0,0 +1,488 @@ +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; +using UnityEditor.Build.Reporting; +using UnityEditor.SceneManagement; +using System.IO; + +namespace WeChatWASM +{ + + [InitializeOnLoad] + public class WXPCSettingsHelperInterface + { + public static WXPCSettingHelper helper = new WXPCSettingHelper(); + } + + public class WXPCSettingHelper + { + public static string projectRootPath; + + // SDK 脚本常量 + private const string SDK_CLASS_NAME = "WeChatWASM.WXPCHPInitScript"; + private const string SDK_GAMEOBJECT_NAME = "WXPCHPInitScript"; + + public WXPCSettingHelper() + { + projectRootPath = Path.GetFullPath(Application.dataPath + "/../"); + } + + // UI 状态 + private Vector2 scrollRoot; + + // 表单数据 + private Dictionary formInputData = new Dictionary(); + + // 配置文件路径 + private string ConfigFilePath => Path.Combine(Application.dataPath, "WX-WASM-SDK-V2", "Editor", "PCHighPerformance", "PCHPConfig.json"); + + public void OnFocus() + { + LoadData(); + } + + public void OnLostFocus() + { + SaveData(); + } + + public void OnDisable() + { + SaveData(); + } + + public void OnSettingsGUI(EditorWindow window) + { + scrollRoot = EditorGUILayout.BeginScrollView(scrollRoot); + + EditorGUILayout.Space(10); + + // 标题 + var titleStyle = new GUIStyle(EditorStyles.boldLabel) + { + fontSize = 14, + alignment = TextAnchor.MiddleCenter + }; + EditorGUILayout.LabelField("PC高性能模式转换", titleStyle); + + EditorGUILayout.Space(10); + + EditorGUILayout.BeginVertical("frameBox", GUILayout.ExpandWidth(true)); + + // 导出路径 - 支持相对路径和选择目录 + FormInputWithFolderSelectorAndHelp("exportPath", "导出路径", "Standalone 构建产物的输出目录,支持相对路径(相对项目根目录)或绝对路径"); + + EditorGUILayout.EndVertical(); + + EditorGUILayout.Space(5); + + // 提示信息 + EditorGUILayout.HelpBox( + "点击「生成并转换」将执行以下操作:\n" + + "1. 向首场景注入 WXPCHPInitScript 脚本\n" + + "2. 构建 Standalone 可执行文件\n" + + "3. SDK 初始化时会弹窗展示各步骤进度", + MessageType.Info); + + EditorGUILayout.EndScrollView(); + + // 检测 GUI 变化并自动保存 + if (GUI.changed) + { + SaveData(); + } + } + + public void OnBuildButtonGUI(EditorWindow window) + { + EditorGUILayout.Space(5); + EditorGUILayout.BeginHorizontal(); + GUILayout.FlexibleSpace(); + + // 生成并转换按钮 + var buttonStyle = new GUIStyle(GUI.skin.button) + { + fontSize = 13, + fontStyle = FontStyle.Bold + }; + if (GUILayout.Button("生成并转换", buttonStyle, GUILayout.Width(160), GUILayout.Height(36))) + { + OnBuildButtonClicked(window); + } + + GUILayout.FlexibleSpace(); + EditorGUILayout.EndHorizontal(); + + GUILayout.Space(10); + } + + /// + /// 点击生成并转换按钮 + /// + private void OnBuildButtonClicked(EditorWindow window) + { + SaveData(); + + var exportPath = GetDataInput("exportPath"); + if (string.IsNullOrEmpty(exportPath.Trim())) + { + EditorUtility.DisplayDialog("错误", "请先设置导出路径", "确定"); + return; + } + + // 计算完整输出路径 + string fullExportPath; + if (Path.IsPathRooted(exportPath)) + { + fullExportPath = exportPath; + } + else + { + fullExportPath = Path.Combine(projectRootPath, exportPath); + } + + Debug.Log($"[PC高性能模式] 导出路径: {fullExportPath}"); + + // 确定构建平台 + BuildTarget buildTarget; + string platformName; + if (Application.platform == RuntimePlatform.OSXEditor) + { + buildTarget = BuildTarget.StandaloneOSX; + platformName = "macOS"; + } + else + { + buildTarget = BuildTarget.StandaloneWindows64; + platformName = "Windows x64"; + } + + Debug.Log($"[PC高性能模式] 目标平台: {platformName}"); + + try + { + // Step 1: 注入 WXPCHPInitScript 到首场景 + EditorUtility.DisplayProgressBar("PC高性能模式", "正在向首场景注入 SDK 脚本...", 0.1f); + InjectSDKToFirstScene(); + + // Step 2: 切换构建目标 + EditorUtility.DisplayProgressBar("PC高性能模式", "正在切换构建目标...", 0.2f); + var originalTarget = EditorUserBuildSettings.activeBuildTarget; + if (originalTarget != buildTarget) + { + Debug.Log($"[PC高性能模式] 切换构建目标: {originalTarget} -> {buildTarget}"); + EditorUserBuildSettings.SwitchActiveBuildTarget(BuildTargetGroup.Standalone, buildTarget); + } + + // Step 3: 配置 Player Settings + EditorUtility.DisplayProgressBar("PC高性能模式", "正在配置 Player Settings...", 0.3f); + ConfigurePlayerSettings(); + + // Step 4: 准备输出目录 + if (!Directory.Exists(fullExportPath)) + { + Directory.CreateDirectory(fullExportPath); + } + + string productName = PlayerSettings.productName; + if (string.IsNullOrEmpty(productName)) productName = "Game"; + + string executablePath = buildTarget == BuildTarget.StandaloneOSX + ? Path.Combine(fullExportPath, $"{productName}.app") + : Path.Combine(fullExportPath, $"{productName}.exe"); + + // Step 5: 获取场景列表 + var scenes = GetEnabledScenes(); + if (scenes.Length == 0) + { + EditorUtility.ClearProgressBar(); + EditorUtility.DisplayDialog("构建失败", "没有启用的场景,请在 Build Settings 中添加场景", "确定"); + return; + } + + // Step 6: 执行构建 + EditorUtility.DisplayProgressBar("PC高性能模式", "正在构建 Standalone...", 0.5f); + Debug.Log($"[PC高性能模式] 开始构建,输出: {executablePath}"); + + var report = BuildPipeline.BuildPlayer(scenes, executablePath, buildTarget, BuildOptions.None); + + EditorUtility.ClearProgressBar(); + + if (report.summary.result == BuildResult.Succeeded) + { + Debug.Log($"[PC高性能模式] 构建成功! 耗时: {report.summary.totalTime.TotalSeconds:F2}秒"); + + if (EditorUtility.DisplayDialog("构建成功", + $"PC高性能模式构建完成!\n\n平台: {platformName}\n耗时: {report.summary.totalTime.TotalSeconds:F2}秒\n输出: {fullExportPath}", + "打开目录", "关闭")) + { + EditorUtility.RevealInFinder(fullExportPath); + } + } + else + { + Debug.LogError($"[PC高性能模式] 构建失败: {report.summary.result}"); + EditorUtility.DisplayDialog("构建失败", $"构建失败: {report.summary.result}\n\n请查看 Console 获取详细错误信息", "确定"); + } + } + catch (System.Exception e) + { + EditorUtility.ClearProgressBar(); + Debug.LogError($"[PC高性能模式] 构建异常: {e.Message}\n{e.StackTrace}"); + EditorUtility.DisplayDialog("构建异常", $"构建过程中发生异常:\n{e.Message}", "确定"); + } + } + + #region Scene Injection + + /// + /// 向首场景注入 WXPCHPInitScript + /// + private void InjectSDKToFirstScene() + { + // 查找脚本类型 + var sdkType = FindTypeInAllAssemblies(SDK_CLASS_NAME); + if (sdkType == null) + { + throw new System.Exception($"找不到 {SDK_CLASS_NAME} 类型,请确保 WX-WASM-SDK-V2 已正确安装"); + } + + var assemblyName = sdkType.Assembly.GetName().Name; + Debug.Log($"[PC高性能模式] 找到 WXPCHPInitScript,程序集: {assemblyName}"); + + if (assemblyName.Contains("Editor")) + { + throw new System.Exception("WXPCHPInitScript 在 Editor 程序集中,无法用于 Runtime 构建!请确保脚本放在 Runtime 目录下"); + } + + // 获取首场景 + var firstScenePath = GetFirstEnabledScenePath(); + if (string.IsNullOrEmpty(firstScenePath)) + { + throw new System.Exception("没有启用的场景,请在 Build Settings 中添加场景"); + } + + // 打开首场景 + var currentScenes = EditorSceneManager.GetSceneManagerSetup(); + var scene = EditorSceneManager.OpenScene(firstScenePath, OpenSceneMode.Single); + + // 清理旧对象 + var oldSDK = GameObject.Find("EmbeddedAppletSDK"); + if (oldSDK != null) + { + Debug.Log("[PC高性能模式] 删除旧的 EmbeddedAppletSDK 对象"); + GameObject.DestroyImmediate(oldSDK); + } + + // 删除已存在的同名对象(避免重复) + var existingSDK = GameObject.Find(SDK_GAMEOBJECT_NAME); + if (existingSDK != null) + { + Debug.Log($"[PC高性能模式] 删除已存在的 {SDK_GAMEOBJECT_NAME},重新创建"); + GameObject.DestroyImmediate(existingSDK); + } + + // 创建新的 GameObject 并添加 WXPCHPInitScript + var sdkObject = new GameObject(SDK_GAMEOBJECT_NAME); + sdkObject.AddComponent(sdkType); + Debug.Log($"[PC高性能模式] ✅ 已在场景 [{scene.name}] 创建 {SDK_GAMEOBJECT_NAME} 并挂载 WXPCHPInitScript"); + + // 保存场景 + EditorSceneManager.MarkSceneDirty(scene); + EditorSceneManager.SaveScene(scene); + + // 恢复场景状态 + if (currentScenes != null && currentScenes.Length > 0) + { + EditorSceneManager.RestoreSceneManagerSetup(currentScenes); + } + } + + /// + /// 在所有程序集中查找类型 + /// + private System.Type FindTypeInAllAssemblies(string typeName) + { + foreach (var assembly in System.AppDomain.CurrentDomain.GetAssemblies()) + { + var type = assembly.GetType(typeName); + if (type != null) return type; + } + return null; + } + + /// + /// 获取首个启用的场景路径 + /// + private string GetFirstEnabledScenePath() + { + foreach (var scene in EditorBuildSettings.scenes) + { + if (scene.enabled) return scene.path; + } + return null; + } + + #endregion + + #region Build Configuration + + /// + /// 配置 Player Settings + /// + private void ConfigurePlayerSettings() + { + PlayerSettings.fullScreenMode = FullScreenMode.Windowed; + PlayerSettings.defaultScreenWidth = 1280; + PlayerSettings.defaultScreenHeight = 720; + PlayerSettings.resizableWindow = true; + + // Windows Linear 色彩空间需要 DX11+ + if (Application.platform == RuntimePlatform.WindowsEditor && + PlayerSettings.colorSpace == ColorSpace.Linear) + { + PlayerSettings.SetUseDefaultGraphicsAPIs(BuildTarget.StandaloneWindows64, false); + PlayerSettings.SetGraphicsAPIs(BuildTarget.StandaloneWindows64, new[] + { + UnityEngine.Rendering.GraphicsDeviceType.Direct3D11, + UnityEngine.Rendering.GraphicsDeviceType.Direct3D12, + UnityEngine.Rendering.GraphicsDeviceType.Vulkan + }); + } + + Debug.Log("[PC高性能模式] Player Settings 配置完成"); + } + + /// + /// 获取启用的场景列表 + /// + private string[] GetEnabledScenes() + { + var scenes = new List(); + foreach (var scene in EditorBuildSettings.scenes) + { + if (scene.enabled) scenes.Add(scene.path); + } + return scenes.ToArray(); + } + + #endregion + + #region Data Persistence + + private void LoadData() + { + if (File.Exists(ConfigFilePath)) + { + try + { + var json = File.ReadAllText(ConfigFilePath); + var config = JsonUtility.FromJson(json); + if (config != null) + { + SetData("exportPath", config.exportPath ?? ""); + } + } + catch (System.Exception e) + { + Debug.LogWarning($"[PC高性能模式] 加载配置失败: {e.Message}"); + } + } + else + { + SetData("exportPath", ""); + } + } + + private void SaveData() + { + try + { + var config = new PCHPConfigData + { + exportPath = GetDataInput("exportPath") + }; + + var directory = Path.GetDirectoryName(ConfigFilePath); + if (!string.IsNullOrEmpty(directory) && !Directory.Exists(directory)) + { + Directory.CreateDirectory(directory); + } + + var json = JsonUtility.ToJson(config, true); + File.WriteAllText(ConfigFilePath, json); + } + catch (System.Exception e) + { + Debug.LogWarning($"[PC高性能模式] 保存配置失败: {e.Message}"); + } + } + + private string GetDataInput(string target) + { + return formInputData.ContainsKey(target) ? formInputData[target] : ""; + } + + private void SetData(string target, string value) + { + formInputData[target] = value; + } + + #endregion + + #region GUI Helpers + + /// + /// 绘制带文件夹选择器和帮助提示的输入框 + /// + private void FormInputWithFolderSelectorAndHelp(string target, string label, string help = null) + { + if (!formInputData.ContainsKey(target)) + { + formInputData[target] = ""; + } + + GUILayout.BeginHorizontal(); + EditorGUILayout.LabelField(string.Empty, GUILayout.Width(10)); + + var displayLabel = help == null ? label : $"{label}(?)"; + GUILayout.Label(new GUIContent(displayLabel, help), GUILayout.Width(140)); + + formInputData[target] = GUILayout.TextField(formInputData[target], GUILayout.MaxWidth(EditorGUIUtility.currentViewWidth - 275)); + + if (GUILayout.Button("选择", GUILayout.Width(60))) + { + var selectedPath = EditorUtility.OpenFolderPanel("选择导出目录", projectRootPath, ""); + if (!string.IsNullOrEmpty(selectedPath)) + { + if (selectedPath.StartsWith(projectRootPath)) + { + var relativePath = selectedPath.Substring(projectRootPath.Length); + if (relativePath.StartsWith("/") || relativePath.StartsWith("\\")) + { + relativePath = relativePath.Substring(1); + } + formInputData[target] = relativePath; + } + else + { + formInputData[target] = selectedPath; + } + } + } + + GUILayout.EndHorizontal(); + } + + #endregion + } + + /// + /// PC高性能小游戏配置数据 + /// + [System.Serializable] + public class PCHPConfigData + { + public string exportPath; + } +} diff --git a/Editor/PCHighPerformance/WXPCSettingHelper.cs.meta b/Editor/PCHighPerformance/WXPCSettingHelper.cs.meta new file mode 100644 index 000000000..825fdfea3 --- /dev/null +++ b/Editor/PCHighPerformance/WXPCSettingHelper.cs.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 769878c6cc6489f59f3bca6835614c27 +DefaultImporter: +externalObjects: {} +userData: +assetBundleName: +assetBundleVariant: \ No newline at end of file diff --git a/Editor/WXConvertCore.cs b/Editor/WXConvertCore.cs index 08f39476d..e4e0f6db0 100644 --- a/Editor/WXConvertCore.cs +++ b/Editor/WXConvertCore.cs @@ -273,6 +273,24 @@ namespace WeChatWASM finishExport(); } } + + // PC高性能模式:在小游戏构建完成后构建PC版本 + if (buildWebGL && WXPCHPBuildHelper.IsPCHighPerformanceEnabled()) + { + Debug.Log("[微信小游戏] 小游戏构建完成,开始构建PC高性能版本..."); + + if (!WXPCHPBuildHelper.BuildPCHighPerformance(config.ProjectConf.DST)) + { + Debug.LogError("[微信小游戏] PC高性能模式构建失败"); + EditorUtility.DisplayDialog("PC高性能模式构建失败", + "PC高性能版本构建失败,但小游戏版本已构建成功。", "确定"); + } + else + { + Debug.Log("[微信小游戏] PC高性能版本构建完成!"); + } + } + return WXExportError.SUCCEED; } diff --git a/Editor/WXEditorSettingHelper.cs b/Editor/WXEditorSettingHelper.cs index a7f7417b2..cd45f7113 100644 --- a/Editor/WXEditorSettingHelper.cs +++ b/Editor/WXEditorSettingHelper.cs @@ -121,6 +121,14 @@ namespace WeChatWASM EditorGUILayout.EndVertical(); } + foldPCHighPerformance = EditorGUILayout.Foldout(foldPCHighPerformance, "PC高性能模式选项"); + if (foldPCHighPerformance) + { + EditorGUILayout.BeginVertical("frameBox", GUILayout.ExpandWidth(true)); + OnSettingPCHighPerformance(); + EditorGUILayout.EndVertical(); + } + foldDebugOptions = EditorGUILayout.Foldout(foldDebugOptions, "调试编译选项"); if (foldDebugOptions) { @@ -233,6 +241,14 @@ namespace WeChatWASM EditorGUILayout.EndVertical(); } + foldPCHighPerformance = EditorGUILayout.Foldout(foldPCHighPerformance, "PC高性能模式"); + if (foldPCHighPerformance) + { + EditorGUILayout.BeginVertical("frameBox", GUILayout.ExpandWidth(true)); + OnSettingPCHighPerformance(); + EditorGUILayout.EndVertical(); + } + foldDebugOptions = EditorGUILayout.Foldout(foldDebugOptions, "调试编译选项"); if (foldDebugOptions) { @@ -374,6 +390,11 @@ namespace WeChatWASM formCheckbox("disableMultiTouch", "禁止多点触控"); } + private void OnSettingPCHighPerformance() + { + formCheckbox("enablePCHighPerformance", "PC高性能模式(?)", "勾选后将在构建时同时构建PC端高性能版本,构建产物会放到导出路径下的PCHP目录"); + } + private void OnSettingDebugOptions(bool showDevBuild) { EditorGUILayout.BeginVertical("frameBox", GUILayout.ExpandWidth(true)); @@ -519,6 +540,7 @@ namespace WeChatWASM private bool foldBaseInfo = true; private bool foldLoadingConfig = true; private bool foldSDKOptions = true; + private bool foldPCHighPerformance = true; private bool foldDebugOptions = true; private bool foldInstantGame = false; private bool foldFontOptions = false; @@ -657,6 +679,7 @@ namespace WeChatWASM this.setData("loadingBarWidth", ProjectConf.loadingBarWidth.ToString()); this.setData("needCheckUpdate", ProjectConf.needCheckUpdate); this.setData("disableHighPerformanceFallback", ProjectConf.disableHighPerformanceFallback); + this.setData("enablePCHighPerformance", ProjectConf.EnablePCHighPerformance); } private void loadSDKOptionsData(SDKOptions SDKOptions) @@ -784,6 +807,7 @@ namespace WeChatWASM ProjectConf.loadingBarWidth = int.Parse(this.getDataInput("loadingBarWidth")); ProjectConf.needCheckUpdate = this.getDataCheckbox("needCheckUpdate"); ProjectConf.disableHighPerformanceFallback = this.getDataCheckbox("disableHighPerformanceFallback"); + ProjectConf.EnablePCHighPerformance = this.getDataCheckbox("enablePCHighPerformance"); } private void saveSDKOptionsData(SDKOptions SDKOptions) @@ -873,6 +897,7 @@ namespace WeChatWASM _ProjectConf.loadingBarWidth = ProjectConf.FindPropertyRelative("loadingBarWidth").intValue; _ProjectConf.needCheckUpdate = ProjectConf.FindPropertyRelative("needCheckUpdate").boolValue; _ProjectConf.disableHighPerformanceFallback = ProjectConf.FindPropertyRelative("disableHighPerformanceFallback").boolValue; + _ProjectConf.EnablePCHighPerformance = ProjectConf.FindPropertyRelative("EnablePCHighPerformance").boolValue; } private void serializeProjectConf(WXProjectConf _ProjectConf, SerializedProperty ProjectConf) { @@ -902,6 +927,7 @@ namespace WeChatWASM ProjectConf.FindPropertyRelative("loadingBarWidth").intValue = _ProjectConf.loadingBarWidth; ProjectConf.FindPropertyRelative("needCheckUpdate").boolValue = _ProjectConf.needCheckUpdate; ProjectConf.FindPropertyRelative("disableHighPerformanceFallback").boolValue = _ProjectConf.disableHighPerformanceFallback; + ProjectConf.FindPropertyRelative("EnablePCHighPerformance").boolValue = _ProjectConf.EnablePCHighPerformance; //miniGameProperty.FindPropertyRelative("m_AutomaticFillInstantGame").boolValue = getDataCheckbox("m_AutomaticFillInstantGame"); diff --git a/Editor/WXPluginVersion.cs b/Editor/WXPluginVersion.cs index 1daae2571..1f5252dde 100644 --- a/Editor/WXPluginVersion.cs +++ b/Editor/WXPluginVersion.cs @@ -2,7 +2,7 @@ namespace WeChatWASM { public class WXPluginVersion { - public static string pluginVersion = "202603160259"; // 这一行不要改他,导出的时候会自动替换 + public static string pluginVersion = "202603250323"; // 这一行不要改他,导出的时候会自动替换 } public class WXPluginConf diff --git a/Editor/wx-editor.dll b/Editor/wx-editor.dll index 4443e0e0d..0e76bf0ec 100644 Binary files a/Editor/wx-editor.dll and b/Editor/wx-editor.dll differ diff --git a/Editor/wx-editor.xml b/Editor/wx-editor.xml index 71eca6215..7a39ca753 100644 --- a/Editor/wx-editor.xml +++ b/Editor/wx-editor.xml @@ -493,6 +493,11 @@ 注意:不要随意修改,默认值为0,0表示不限制 + + + 是否开启PC高性能模式 + + 自动将图片尺寸减小一半 diff --git a/Editor/wx-editor.xml.meta b/Editor/wx-editor.xml.meta index a1b05c6cb..66a6377b4 100644 --- a/Editor/wx-editor.xml.meta +++ b/Editor/wx-editor.xml.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 7330c57dbe403f6a6825fe311f4436ca +guid: fc63c7c713805714b1dd0992ae9dcff2 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/Examples.meta b/Runtime/Examples.meta new file mode 100644 index 000000000..6d72c5b19 --- /dev/null +++ b/Runtime/Examples.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b8fdca948fd6a64887c0534f384f283f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: \ No newline at end of file diff --git a/Runtime/Examples/PCHPTestExample.cs b/Runtime/Examples/PCHPTestExample.cs new file mode 100644 index 000000000..2c8dfcc56 --- /dev/null +++ b/Runtime/Examples/PCHPTestExample.cs @@ -0,0 +1,257 @@ +using UnityEngine; +using WeChatWASM; + +namespace WeChatWASM.Examples +{ + /// + /// PC高性能小游戏通信测试示例 + /// + /// 通信链路: + /// 1. C# 调用 ShowToast + /// 2. WXPCHPInitScript.CallWXAPI 构建 PCHPRequestMessage + /// 3. SendMsgAsync -> direct_applet_sdk.dll -> 内核 + /// 4. 内核 -> 基础库 pc-adapter -> game.js + /// 5. game.js 执行 wx.showToast + /// 6. 回调 -> 基础库 -> 内核 -> DLL -> HandleAsyncMessage + /// 7. 解析 PCHPResponseMessage -> 触发 C# 回调 + /// + public class PCHPTestExample : MonoBehaviour + { + private WXPCHighPerformanceManager _pcManager; + + private void Start() + { + Debug.Log("[PCHPTestExample] Start - 获取 PC 高性能管理器"); + +#if UNITY_STANDALONE_WIN + _pcManager = WXPCHighPerformanceManager.GetInstance(); + + if (_pcManager != null && _pcManager.IsSupported) + { + Debug.Log("[PCHPTestExample] PC 高性能模式已支持!"); + } + else + { + Debug.LogWarning("[PCHPTestExample] PC 高性能模式不可用"); + } +#else + Debug.Log("[PCHPTestExample] 当前平台非 Windows,PC 高性能模式不可用"); +#endif + } + + /// + /// 测试 ShowToast - 在 Inspector 中调用或通过 UI 按钮调用 + /// + [ContextMenu("Test ShowToast")] + public void TestShowToast() + { + if (_pcManager == null || !_pcManager.IsSupported) + { + Debug.LogError("[PCHPTestExample] PC 高性能模式不可用"); + return; + } + + Debug.Log("[PCHPTestExample] 调用 ShowToast..."); + + _pcManager.ShowToast( + new PCHPShowToastOption + { + title = "Hello from Unity!", + icon = "success", + duration = 2000, + mask = false + }, + success: (res) => + { + Debug.Log($"[PCHPTestExample] ShowToast 成功: {res.errMsg}"); + }, + fail: (res) => + { + Debug.LogError($"[PCHPTestExample] ShowToast 失败: {res.errMsg}"); + }, + complete: (res) => + { + Debug.Log($"[PCHPTestExample] ShowToast 完成"); + } + ); + } + + /// + /// 测试 ShowModal - 在 Inspector 中调用或通过 UI 按钮调用 + /// + [ContextMenu("Test ShowModal")] + public void TestShowModal() + { + if (_pcManager == null || !_pcManager.IsSupported) + { + Debug.LogError("[PCHPTestExample] PC 高性能模式不可用"); + return; + } + + Debug.Log("[PCHPTestExample] 调用 ShowModal..."); + + _pcManager.ShowModal( + new PCHPShowModalOption + { + title = "提示", + content = "这是一个来自 Unity 的模态框测试", + showCancel = true, + cancelText = "取消", + confirmText = "确定" + }, + success: (res) => + { + if (res.confirm) + { + Debug.Log("[PCHPTestExample] 用户点击了确定"); + } + else if (res.cancel) + { + Debug.Log("[PCHPTestExample] 用户点击了取消"); + } + }, + fail: (res) => + { + Debug.LogError($"[PCHPTestExample] ShowModal 失败: {res.errMsg}"); + }, + complete: (res) => + { + Debug.Log($"[PCHPTestExample] ShowModal 完成"); + } + ); + } + + /// + /// 测试 ShowLoading - 在 Inspector 中调用或通过 UI 按钮调用 + /// + [ContextMenu("Test ShowLoading")] + public void TestShowLoading() + { + if (_pcManager == null || !_pcManager.IsSupported) + { + Debug.LogError("[PCHPTestExample] PC 高性能模式不可用"); + return; + } + + Debug.Log("[PCHPTestExample] 调用 ShowLoading..."); + + _pcManager.ShowLoading("加载中...", true, + success: (res) => + { + Debug.Log($"[PCHPTestExample] ShowLoading 成功"); + + // 2秒后隐藏 + StartCoroutine(HideLoadingAfterDelay(2f)); + }, + fail: (res) => + { + Debug.LogError($"[PCHPTestExample] ShowLoading 失败: {res.errMsg}"); + } + ); + } + + private System.Collections.IEnumerator HideLoadingAfterDelay(float delay) + { + yield return new WaitForSeconds(delay); + + _pcManager?.HideLoading( + success: (res) => + { + Debug.Log("[PCHPTestExample] HideLoading 成功"); + } + ); + } + + /// + /// 测试通用 API 调用 + /// + [ContextMenu("Test Generic API Call")] + public void TestGenericAPICall() + { + if (_pcManager == null || !_pcManager.IsSupported) + { + Debug.LogError("[PCHPTestExample] PC 高性能模式不可用"); + return; + } + + Debug.Log("[PCHPTestExample] 调用通用 API (getSystemInfoSync)..."); + + // 示例:调用任意 wx API + _pcManager.CallWXAPI( + "getSystemInfo", + new { }, // 无参数 + onSuccess: (res) => + { + Debug.Log($"[PCHPTestExample] getSystemInfo 成功: {res}"); + }, + onFail: (res) => + { + Debug.LogError($"[PCHPTestExample] getSystemInfo 失败: {res}"); + }, + onComplete: (res) => + { + Debug.Log("[PCHPTestExample] getSystemInfo 完成"); + } + ); + } + + /// + /// 测试事件监听 + /// + [ContextMenu("Test Event Listener")] + public void TestEventListener() + { + if (_pcManager == null || !_pcManager.IsSupported) + { + Debug.LogError("[PCHPTestExample] PC 高性能模式不可用"); + return; + } + + Debug.Log("[PCHPTestExample] 注册 onShow 事件监听..."); + + _pcManager.On("onShow", (data) => + { + Debug.Log($"[PCHPTestExample] 收到 onShow 事件: {data}"); + }); + + _pcManager.On("onHide", (data) => + { + Debug.Log($"[PCHPTestExample] 收到 onHide 事件: {data}"); + }); + } + + private void OnGUI() + { + // 简单的测试按钮 UI + GUILayout.BeginArea(new Rect(10, 10, 200, 300)); + GUILayout.Label("PC高性能小游戏测试"); + + if (GUILayout.Button("ShowToast")) + { + TestShowToast(); + } + + if (GUILayout.Button("ShowModal")) + { + TestShowModal(); + } + + if (GUILayout.Button("ShowLoading")) + { + TestShowLoading(); + } + + if (GUILayout.Button("GetSystemInfo")) + { + TestGenericAPICall(); + } + + if (GUILayout.Button("Register Events")) + { + TestEventListener(); + } + + GUILayout.EndArea(); + } + } +} diff --git a/Runtime/Examples/PCHPTestExample.cs.meta b/Runtime/Examples/PCHPTestExample.cs.meta new file mode 100644 index 000000000..c736d0c30 --- /dev/null +++ b/Runtime/Examples/PCHPTestExample.cs.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 0ded19877eaa0ed06ad5a1d789d245ee +DefaultImporter: +externalObjects: {} +userData: +assetBundleName: +assetBundleVariant: \ No newline at end of file diff --git a/Runtime/Plugins/wx-perf.dll b/Runtime/Plugins/wx-perf.dll index 5320d0af3..df66707a6 100644 Binary files a/Runtime/Plugins/wx-perf.dll and b/Runtime/Plugins/wx-perf.dll differ diff --git a/Runtime/Plugins/wx-runtime-editor.dll b/Runtime/Plugins/wx-runtime-editor.dll index 2c9f8ea64..bf866ee49 100644 Binary files a/Runtime/Plugins/wx-runtime-editor.dll and b/Runtime/Plugins/wx-runtime-editor.dll differ diff --git a/Runtime/Plugins/wx-runtime-editor.xml.meta b/Runtime/Plugins/wx-runtime-editor.xml.meta index 4006ea299..51f2a69c2 100644 --- a/Runtime/Plugins/wx-runtime-editor.xml.meta +++ b/Runtime/Plugins/wx-runtime-editor.xml.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 59f30477a8bb77aeb6d56b69f0799388 +guid: 7eb6341fbacdfb6abbd4ac20932f16cd DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/Plugins/wx-runtime.dll b/Runtime/Plugins/wx-runtime.dll index b5bebdce2..fd69c86fa 100644 Binary files a/Runtime/Plugins/wx-runtime.dll and b/Runtime/Plugins/wx-runtime.dll differ diff --git a/Runtime/Plugins/wx-runtime.xml.meta b/Runtime/Plugins/wx-runtime.xml.meta index 47bcc2740..7c55c4b20 100644 --- a/Runtime/Plugins/wx-runtime.xml.meta +++ b/Runtime/Plugins/wx-runtime.xml.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 33778f932d74b9c0309d7573c86c9e5b +guid: 8903e1fcd9b8806b128a853f763aedc1 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/WXBase.cs b/Runtime/WXBase.cs index 7f7718edd..591aec7e8 100644 --- a/Runtime/WXBase.cs +++ b/Runtime/WXBase.cs @@ -1195,8 +1195,38 @@ namespace WeChatWASM public static WXRankManager GetRankManager() { return WXSDKManagerHandler.Instance.GetRankManager(); } - } -} #endregion +#region PC高性能小游戏 + /// + /// 获取 PC 高性能小游戏管理器 + /// 类似于 VA 方案的 wx.getAndroidHighPerformanceManager() + /// 用于在 PC 原生环境下与微信基础库通信 + /// + /// PC高性能管理器实例,如果不支持则返回 null + /// + /// var pcManager = WX.GetPCHighPerformanceManager(); + /// if (pcManager != null && pcManager.IsSupported) + /// { + /// pcManager.ShowToast(new PCHPShowToastOption + /// { + /// title = "Hello PC!", + /// icon = "success", + /// duration = 2000 + /// }); + /// } + /// + public static WXPCHighPerformanceManager GetPCHighPerformanceManager() + { +#if UNITY_STANDALONE_WIN + return WXPCHighPerformanceManager.GetInstance(); +#else + Debug.LogWarning("[WX] GetPCHighPerformanceManager 仅在 Windows 平台可用"); + return null; +#endif + } +#endregion + } +} + #endif diff --git a/Runtime/WXPCHPInitScript.cs b/Runtime/WXPCHPInitScript.cs new file mode 100644 index 000000000..2dc663aec --- /dev/null +++ b/Runtime/WXPCHPInitScript.cs @@ -0,0 +1,972 @@ +using System; +using System.Collections.Generic; +using System.Collections.Concurrent; +using System.Runtime.InteropServices; +using UnityEngine; +using LitJson; + +namespace WeChatWASM +{ + #region Message Protocol Models + + /// + /// PC高性能方案通信协议 - 请求消息 + /// C# -> DLL -> 内核 -> 基础库 + /// + [Serializable] + public class PCHPRequestMessage + { + /// + /// 消息类型: "request" | "event_register" | "event_unregister" + /// + public string type; + + /// + /// 请求ID,用于匹配回调 + /// + public string requestId; + + /// + /// API名称,如 "showToast", "login" 等 + /// + public string api; + + /// + /// API参数,JSON格式 + /// + public string data; + + /// + /// 时间戳 + /// + public long timestamp; + } + + /// + /// PC高性能方案通信协议 - 响应消息 + /// 基础库 -> 内核 -> DLL -> C# + /// + [Serializable] + public class PCHPResponseMessage + { + /// + /// 消息类型: "response" | "event" + /// + public string type; + + /// + /// 请求ID,与请求消息匹配 + /// + public string requestId; + + /// + /// 回调类型: "success" | "fail" | "complete" + /// + public string callbackType; + + /// + /// API名称(事件类型时使用) + /// + public string api; + + /// + /// 响应数据,JSON格式 + /// + public string data; + + /// + /// 错误信息(失败时) + /// + public string errMsg; + + /// + /// 时间戳 + /// + public long timestamp; + } + + /// + /// 通用回调结果 + /// + [Serializable] + public class PCHPGeneralCallbackResult + { + public string errMsg; + } + + /// + /// ShowToast 参数 + /// + [Serializable] + public class PCHPShowToastOption + { + public string title; + public string icon; + public string image; + public int duration; + public bool mask; + } + + /// + /// ShowModal 参数 + /// + [Serializable] + public class PCHPShowModalOption + { + public string title; + public string content; + public bool showCancel; + public string cancelText; + public string cancelColor; + public string confirmText; + public string confirmColor; + public bool editable; + public string placeholderText; + } + + /// + /// ShowModal 成功回调结果 + /// + [Serializable] + public class PCHPShowModalSuccessCallbackResult + { + public bool confirm; + public bool cancel; + public string content; + public string errMsg; + } + + #endregion + + /// + /// PC高性能小游戏初始化脚本 + /// 负责与宿主程序的 direct_applet_sdk.dll 进行交互 + /// + public class WXPCHPInitScript : MonoBehaviour + { + #region DLL Imports + + private const string DLL_NAME = "direct_applet_sdk.dll"; + + // 初始化SDK + [DllImport(DLL_NAME, CallingConvention = CallingConvention.Cdecl)] + private static extern bool InitEmbeddedGameSDK(); + + // 注册异步消息处理器 + [DllImport(DLL_NAME, CallingConvention = CallingConvention.Cdecl)] + private static extern void RegisterAsyncMsgHandler(AsyncMsgHandlerDelegate handler); + + // 建立Mojo连接 + [DllImport(DLL_NAME, CallingConvention = CallingConvention.Cdecl)] + private static extern bool EstablishConnection(); + + // 初始化游戏窗口 - 传入窗口句柄 + [DllImport(DLL_NAME, CallingConvention = CallingConvention.Cdecl)] + private static extern bool InitGameWindow(ulong hwnd); + + // 异步发送消息 + [DllImport(DLL_NAME, CallingConvention = CallingConvention.Cdecl)] + private static extern bool SendMsgAsync(IntPtr data, int len); + + // 清理资源 + [DllImport(DLL_NAME, CallingConvention = CallingConvention.Cdecl)] + private static extern bool Cleanup(); + + // 获取当前活动窗口句柄 + [DllImport("user32.dll")] + private static extern IntPtr GetActiveWindow(); + + // Windows MessageBox + [DllImport("user32.dll", CharSet = CharSet.Unicode)] + private static extern int MessageBox(IntPtr hWnd, string text, string caption, uint type); + + #endregion + + #region Delegate Definition + + // 异步消息处理器委托 + [UnmanagedFunctionPointer(CallingConvention.Cdecl)] + private delegate void AsyncMsgHandlerDelegate(IntPtr data, int len); + + // 保持委托引用,防止被GC回收 + private static AsyncMsgHandlerDelegate asyncMsgHandler; + + #endregion + + #region Singleton + + private static WXPCHPInitScript instance; + public static WXPCHPInitScript Instance => instance; + + #endregion + + #region Callback Management + + /// + /// 回调信息封装 + /// + private class CallbackInfo + { + public Action OnSuccess; + public Action OnFail; + public Action OnComplete; + public string ApiName; + public long Timestamp; + } + + // 待处理的回调字典 + private readonly Dictionary _pendingCallbacks = new Dictionary(); + + // 事件监听器字典 >> + private readonly Dictionary>> _eventListeners = new Dictionary>>(); + + // 请求ID计数器 + private int _requestIdCounter = 0; + + // 线程安全的消息队列,用于主线程处理 + private readonly ConcurrentQueue _messageQueue = new ConcurrentQueue(); + + #endregion + + #region Events + + // 收到异步消息时触发的事件(原始字节) + public event Action OnMessageReceived; + + #endregion + + #region Properties + + // SDK是否已初始化 + public bool IsInitialized { get; private set; } + + // 是否已连接 + public bool IsConnected { get; private set; } + + // 窗口句柄 + public IntPtr WindowHandle { get; private set; } + + #endregion + + #region Unity Lifecycle + + private void Awake() + { + Debug.Log("[WXPCHPInitScript] ========== Awake 被调用 =========="); + Debug.Log($"[WXPCHPInitScript] GameObject 名称: {gameObject.name}"); + Debug.Log($"[WXPCHPInitScript] 场景名称: {UnityEngine.SceneManagement.SceneManager.GetActiveScene().name}"); + + if (instance != null && instance != this) + { + Debug.LogWarning("[WXPCHPInitScript] 检测到重复实例,销毁当前对象"); + Destroy(gameObject); + return; + } + + instance = this; + DontDestroyOnLoad(gameObject); + Debug.Log("[WXPCHPInitScript] 单例创建成功,已设置 DontDestroyOnLoad"); + + // 初始化SDK + Initialize(); + } + + private void Update() + { + // 在主线程中处理消息队列 + ProcessMessageQueue(); + } + + private void OnDestroy() + { + if (instance == this) + { + CleanupSDK(); + instance = null; + } + } + + private void OnApplicationQuit() + { + CleanupSDK(); + } + + #endregion + + #region Public Methods - SDK Lifecycle + + /// + /// 初始化SDK并建立连接 + /// + public void Initialize() + { + if (IsInitialized) + { + Debug.LogWarning("[WXPCHPInitScript] SDK已经初始化"); + return; + } + + Debug.Log("[WXPCHPInitScript] ========== 开始初始化 =========="); + Debug.Log($"[WXPCHPInitScript] 当前工作目录: {System.IO.Directory.GetCurrentDirectory()}"); + Debug.Log($"[WXPCHPInitScript] DLL 搜索路径: {DLL_NAME}"); + + ShowStepInfo("SDK 初始化开始", "即将执行 PC 高性能模式 SDK 初始化流程...\n\n共 5 个步骤:\n1. InitEmbeddedGameSDK\n2. RegisterAsyncMsgHandler\n3. EstablishConnection\n4. GetActiveWindow\n5. InitGameWindow"); + + try + { + // 1. 初始化SDK + Debug.Log("[WXPCHPInitScript] Step 1: 调用 InitEmbeddedGameSDK"); + ShowStepInfo("步骤 1/5 - InitEmbeddedGameSDK", "正在初始化嵌入式游戏 SDK..."); + if (!InitEmbeddedGameSDK()) + { + ShowError("InitEmbeddedGameSDK 返回 false"); + return; + } + ShowStepInfo("步骤 1/5 - InitEmbeddedGameSDK ✅", "InitEmbeddedGameSDK 调用成功!"); + + // 2. 注册消息处理器 + Debug.Log("[WXPCHPInitScript] Step 2: 调用 RegisterAsyncMsgHandler"); + ShowStepInfo("步骤 2/5 - RegisterAsyncMsgHandler", "正在注册异步消息处理器..."); + asyncMsgHandler = HandleAsyncMessage; + RegisterAsyncMsgHandler(asyncMsgHandler); + ShowStepInfo("步骤 2/5 - RegisterAsyncMsgHandler ✅", "异步消息处理器注册成功!"); + + // 3. 建立连接 + Debug.Log("[WXPCHPInitScript] Step 3: 调用 EstablishConnection"); + ShowStepInfo("步骤 3/5 - EstablishConnection", "正在建立 Mojo 连接..."); + if (!EstablishConnection()) + { + ShowError("EstablishConnection 返回 false"); + IsConnected = false; + return; + } + IsConnected = true; + ShowStepInfo("步骤 3/5 - EstablishConnection ✅", "Mojo 连接建立成功!"); + + // 4. 获取窗口句柄并初始化游戏窗口 + Debug.Log("[WXPCHPInitScript] Step 4: 获取窗口句柄"); + ShowStepInfo("步骤 4/5 - GetActiveWindow", "正在获取游戏窗口句柄..."); + WindowHandle = GetActiveWindow(); + if (WindowHandle == IntPtr.Zero) + { + ShowError("GetActiveWindow 返回空句柄"); + return; + } + Debug.Log($"获取窗口句柄成功: 0x{WindowHandle.ToInt64():X}"); + ShowStepInfo("步骤 4/5 - GetActiveWindow ✅", $"窗口句柄获取成功: 0x{WindowHandle.ToInt64():X}"); + + // 5. 通知内核获取窗口句柄 + Debug.Log("[WXPCHPInitScript] Step 5: 调用 InitGameWindow"); + ShowStepInfo("步骤 5/5 - InitGameWindow", $"正在初始化游戏窗口...\n窗口句柄: 0x{WindowHandle.ToInt64():X}"); + if (!InitGameWindow((ulong)WindowHandle.ToInt64())) + { + ShowError("InitGameWindow 返回 false"); + return; + } + ShowStepInfo("步骤 5/5 - InitGameWindow ✅", "游戏窗口初始化成功!"); + + IsInitialized = true; + Debug.Log("[WXPCHPInitScript] ========== 初始化完成 =========="); + ShowStepInfo("🎉 SDK 初始化完成", "PC 高性能模式 SDK 所有步骤均已成功完成!\n\n✅ InitEmbeddedGameSDK\n✅ RegisterAsyncMsgHandler\n✅ EstablishConnection\n✅ GetActiveWindow\n✅ InitGameWindow"); + } + catch (DllNotFoundException e) + { + ShowError($"找不到DLL: {e.Message}\n\n请确保 {DLL_NAME} 在以下位置之一:\n- 与 .exe 同级目录\n- System32 目录\n- PATH 环境变量包含的路径"); + Debug.LogError($"[WXPCHPInitScript] DLL 加载失败,请确保 {DLL_NAME} 在以下位置之一:"); + Debug.LogError($" - 与 .exe 同级目录"); + Debug.LogError($" - System32 目录"); + Debug.LogError($" - PATH 环境变量包含的路径"); + } + catch (EntryPointNotFoundException e) + { + ShowError($"找不到函数入口: {e.Message}\n\n可能是 DLL 版本不匹配"); + Debug.LogError($"[WXPCHPInitScript] 函数入口点错误,可能是 DLL 版本不匹配"); + } + catch (Exception e) + { + ShowError($"初始化异常: {e.Message}\n{e.StackTrace}"); + Debug.LogError($"[WXPCHPInitScript] 未知异常: {e}"); + } + } + + #endregion + + #region Public Methods - WX API Calls + + /// + /// 调用微信API(通用方法) + /// + /// API名称,如 "showToast" + /// API参数对象 + /// 成功回调 + /// 失败回调 + /// 完成回调 + /// 请求ID + public string CallWXAPI(string apiName, object data, Action onSuccess = null, Action onFail = null, Action onComplete = null) + { + if (!IsInitialized || !IsConnected) + { + Debug.LogWarning($"[WXPCHPInitScript] SDK未初始化或未连接,无法调用 {apiName}"); + onFail?.Invoke(JsonMapper.ToJson(new PCHPGeneralCallbackResult { errMsg = "SDK not initialized" })); + onComplete?.Invoke(JsonMapper.ToJson(new PCHPGeneralCallbackResult { errMsg = "SDK not initialized" })); + return null; + } + + string requestId = GenerateRequestId(); + string dataJson = data != null ? JsonMapper.ToJson(data) : "{}"; + + // 注册回调 + var callbackInfo = new CallbackInfo + { + OnSuccess = onSuccess, + OnFail = onFail, + OnComplete = onComplete, + ApiName = apiName, + Timestamp = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds() + }; + _pendingCallbacks[requestId] = callbackInfo; + + // 构建请求消息 + var request = new PCHPRequestMessage + { + type = "request", + requestId = requestId, + api = apiName, + data = dataJson, + timestamp = callbackInfo.Timestamp + }; + + string requestJson = JsonMapper.ToJson(request); + Debug.Log($"[WXPCHPInitScript] 发送API请求: {apiName}, requestId: {requestId}"); + + if (!SendMessageInternal(requestJson)) + { + _pendingCallbacks.Remove(requestId); + onFail?.Invoke(JsonMapper.ToJson(new PCHPGeneralCallbackResult { errMsg = "Failed to send message" })); + onComplete?.Invoke(JsonMapper.ToJson(new PCHPGeneralCallbackResult { errMsg = "Failed to send message" })); + return null; + } + + return requestId; + } + + /// + /// 显示消息提示框 + /// + public void ShowToast(PCHPShowToastOption option, Action success = null, Action fail = null, Action complete = null) + { + CallWXAPI("showToast", option, + res => success?.Invoke(JsonMapper.ToObject(res)), + res => fail?.Invoke(JsonMapper.ToObject(res)), + res => complete?.Invoke(JsonMapper.ToObject(res)) + ); + } + + /// + /// 隐藏消息提示框 + /// + public void HideToast(Action success = null, Action fail = null, Action complete = null) + { + CallWXAPI("hideToast", null, + res => success?.Invoke(JsonMapper.ToObject(res)), + res => fail?.Invoke(JsonMapper.ToObject(res)), + res => complete?.Invoke(JsonMapper.ToObject(res)) + ); + } + + /// + /// 显示模态对话框 + /// + public void ShowModal(PCHPShowModalOption option, Action success = null, Action fail = null, Action complete = null) + { + CallWXAPI("showModal", option, + res => success?.Invoke(JsonMapper.ToObject(res)), + res => fail?.Invoke(JsonMapper.ToObject(res)), + res => complete?.Invoke(JsonMapper.ToObject(res)) + ); + } + + /// + /// 显示 loading 提示框 + /// + public void ShowLoading(string title, bool mask = false, Action success = null, Action fail = null, Action complete = null) + { + CallWXAPI("showLoading", new { title, mask }, + res => success?.Invoke(JsonMapper.ToObject(res)), + res => fail?.Invoke(JsonMapper.ToObject(res)), + res => complete?.Invoke(JsonMapper.ToObject(res)) + ); + } + + /// + /// 隐藏 loading 提示框 + /// + public void HideLoading(Action success = null, Action fail = null, Action complete = null) + { + CallWXAPI("hideLoading", null, + res => success?.Invoke(JsonMapper.ToObject(res)), + res => fail?.Invoke(JsonMapper.ToObject(res)), + res => complete?.Invoke(JsonMapper.ToObject(res)) + ); + } + + #endregion + + #region Public Methods - Event Listeners + + /// + /// 注册事件监听器 + /// + /// 事件名称,如 "onShow", "onHide" + /// 回调函数 + public void RegisterEventListener(string eventName, Action callback) + { + if (!_eventListeners.ContainsKey(eventName)) + { + _eventListeners[eventName] = new List>(); + + // 发送事件注册消息到基础库 + var request = new PCHPRequestMessage + { + type = "event_register", + requestId = GenerateRequestId(), + api = eventName, + data = "{}", + timestamp = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds() + }; + SendMessageInternal(JsonMapper.ToJson(request)); + } + + _eventListeners[eventName].Add(callback); + Debug.Log($"[WXPCHPInitScript] 注册事件监听: {eventName}"); + } + + /// + /// 移除事件监听器 + /// + /// 事件名称 + /// 要移除的回调函数,为null则移除所有 + public void UnregisterEventListener(string eventName, Action callback = null) + { + if (!_eventListeners.ContainsKey(eventName)) + { + return; + } + + if (callback == null) + { + _eventListeners.Remove(eventName); + } + else + { + _eventListeners[eventName].Remove(callback); + if (_eventListeners[eventName].Count == 0) + { + _eventListeners.Remove(eventName); + } + } + + // 如果没有监听器了,通知基础库取消注册 + if (!_eventListeners.ContainsKey(eventName)) + { + var request = new PCHPRequestMessage + { + type = "event_unregister", + requestId = GenerateRequestId(), + api = eventName, + data = "{}", + timestamp = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds() + }; + SendMessageInternal(JsonMapper.ToJson(request)); + } + + Debug.Log($"[WXPCHPInitScript] 移除事件监听: {eventName}"); + } + + #endregion + + #region Public Methods - Raw Message + + /// + /// 发送原始消息字符串 + /// + /// 消息内容 + /// 是否发送成功 + public bool SendRawMessage(string message) + { + return SendMessageInternal(message); + } + + /// + /// 发送原始消息字节数组 + /// + /// 消息数据 + /// 是否发送成功 + public bool SendMessage(byte[] data) + { + if (!IsInitialized || !IsConnected) + { + Debug.LogWarning("[WXPCHPInitScript] SDK未初始化或未连接"); + return false; + } + + if (data == null || data.Length == 0) + { + Debug.LogWarning("[WXPCHPInitScript] 发送的数据为空"); + return false; + } + + try + { + IntPtr ptr = Marshal.AllocHGlobal(data.Length); + try + { + Marshal.Copy(data, 0, ptr, data.Length); + return SendMsgAsync(ptr, data.Length); + } + finally + { + Marshal.FreeHGlobal(ptr); + } + } + catch (Exception e) + { + Debug.LogError($"[WXPCHPInitScript] 发送消息异常: {e.Message}"); + return false; + } + } + + #endregion + + #region Private Methods + + /// + /// 生成唯一请求ID + /// + private string GenerateRequestId() + { + return $"pchp_{++_requestIdCounter}_{DateTimeOffset.UtcNow.ToUnixTimeMilliseconds()}"; + } + + /// + /// 内部发送消息方法 + /// + private bool SendMessageInternal(string message) + { + if (!IsInitialized || !IsConnected) + { + Debug.LogWarning("[WXPCHPInitScript] SDK未初始化或未连接"); + return false; + } + + try + { + byte[] data = System.Text.Encoding.UTF8.GetBytes(message); + return SendMessage(data); + } + catch (Exception e) + { + Debug.LogError($"[WXPCHPInitScript] 发送消息异常: {e.Message}"); + return false; + } + } + + /// + /// 显示步骤信息弹窗(Windows 使用 MessageBox,其他平台使用 Debug.Log) + /// + private void ShowStepInfo(string title, string message) + { + Debug.Log($"[WXPCHPInitScript] [{title}] {message}"); +#if UNITY_STANDALONE_WIN + try + { + // MB_OK | MB_ICONINFORMATION = 0x40 + MessageBox(IntPtr.Zero, message, $"PC高性能模式 - {title}", 0x40); + } + catch (System.Exception e) + { + Debug.LogWarning($"[WXPCHPInitScript] MessageBox 调用失败: {e.Message}"); + } +#endif + } + + /// + /// 显示错误弹窗(仅 Windows) + /// + private void ShowError(string message) + { + Debug.LogError($"[WXPCHPInitScript] {message}"); +#if UNITY_STANDALONE_WIN + try + { + // MB_OK | MB_ICONERROR = 0x10 + MessageBox(IntPtr.Zero, message, "WXPCHPInitScript Error", 0x10); + } + catch (System.Exception e) + { + Debug.LogWarning($"[WXPCHPInitScript] MessageBox 调用失败: {e.Message}"); + } +#endif + } + + /// + /// 清理SDK资源 + /// + private void CleanupSDK() + { + if (!IsInitialized) + { + return; + } + + try + { + // 清理待处理回调 + _pendingCallbacks.Clear(); + _eventListeners.Clear(); + + Cleanup(); + Debug.Log("[WXPCHPInitScript] SDK清理完成"); + } + catch (Exception e) + { + Debug.LogError($"[WXPCHPInitScript] 清理异常: {e.Message}"); + } + finally + { + IsInitialized = false; + IsConnected = false; + } + } + + /// + /// 在主线程中处理消息队列 + /// + private void ProcessMessageQueue() + { + while (_messageQueue.TryDequeue(out var response)) + { + try + { + ProcessResponse(response); + } + catch (Exception e) + { + Debug.LogError($"[WXPCHPInitScript] 处理响应消息异常: {e.Message}"); + } + } + } + + /// + /// 处理响应消息 + /// + private void ProcessResponse(PCHPResponseMessage response) + { + if (response.type == "response") + { + // 处理API回调 + if (_pendingCallbacks.TryGetValue(response.requestId, out var callbackInfo)) + { + Debug.Log($"[WXPCHPInitScript] 收到API响应: {callbackInfo.ApiName}, callbackType: {response.callbackType}"); + + switch (response.callbackType) + { + case "success": + callbackInfo.OnSuccess?.Invoke(response.data ?? "{}"); + break; + case "fail": + callbackInfo.OnFail?.Invoke(response.data ?? $"{{\"errMsg\":\"{response.errMsg}\"}}"); + break; + case "complete": + callbackInfo.OnComplete?.Invoke(response.data ?? "{}"); + // complete 后移除回调 + _pendingCallbacks.Remove(response.requestId); + break; + } + } + else + { + Debug.LogWarning($"[WXPCHPInitScript] 未找到对应的回调: requestId={response.requestId}"); + } + } + else if (response.type == "event") + { + // 处理事件通知 + string eventName = response.api; + if (_eventListeners.TryGetValue(eventName, out var listeners)) + { + Debug.Log($"[WXPCHPInitScript] 收到事件: {eventName}"); + foreach (var listener in listeners.ToArray()) + { + try + { + listener?.Invoke(response.data ?? "{}"); + } + catch (Exception e) + { + Debug.LogError($"[WXPCHPInitScript] 事件回调异常: {eventName}, {e.Message}"); + } + } + } + } + } + + /// + /// 异步消息处理回调(从DLL回调,可能在非主线程) + /// + [AOT.MonoPInvokeCallback(typeof(AsyncMsgHandlerDelegate))] + private static void HandleAsyncMessage(IntPtr data, int len) + { + if (data == IntPtr.Zero || len <= 0) + { + return; + } + + try + { + byte[] buffer = new byte[len]; + Marshal.Copy(data, buffer, 0, len); + + if (instance != null) + { + // 触发原始消息事件 + instance.OnMessageReceived?.Invoke(buffer); + + // 解析消息 + string message = System.Text.Encoding.UTF8.GetString(buffer); + Debug.Log($"[WXPCHPInitScript] 收到原始消息: {message}"); + + try + { + // 尝试解析为响应消息 + var response = JsonMapper.ToObject(message); + if (response != null && !string.IsNullOrEmpty(response.type)) + { + // 加入消息队列,在主线程中处理 + instance._messageQueue.Enqueue(response); + } + } + catch (Exception parseEx) + { + Debug.LogWarning($"[WXPCHPInitScript] 消息解析失败,可能是非标准格式: {parseEx.Message}"); + } + } + } + catch (Exception e) + { + Debug.LogError($"[WXPCHPInitScript] 处理消息异常: {e.Message}"); + } + } + + #endregion + } + + /// + /// PC高性能小游戏管理器 + /// 提供类似 wx.getPCHighPerformanceManager() 的接口 + /// + public class WXPCHighPerformanceManager + { + private static WXPCHighPerformanceManager _instance; + private WXPCHPInitScript _initScript; + + /// + /// 获取 PC 高性能管理器实例 + /// + public static WXPCHighPerformanceManager GetInstance() + { + if (_instance == null) + { + _instance = new WXPCHighPerformanceManager(); + } + return _instance; + } + + private WXPCHighPerformanceManager() + { + _initScript = WXPCHPInitScript.Instance; + } + + /// + /// 是否支持PC高性能模式 + /// + public bool IsSupported => _initScript != null && _initScript.IsInitialized && _initScript.IsConnected; + + /// + /// 调用微信API + /// + public string CallWXAPI(string apiName, object data, Action onSuccess = null, Action onFail = null, Action onComplete = null) + { + if (_initScript == null) + { + Debug.LogError("[WXPCHighPerformanceManager] InitScript 未初始化"); + return null; + } + return _initScript.CallWXAPI(apiName, data, onSuccess, onFail, onComplete); + } + + /// + /// 显示 Toast + /// + public void ShowToast(PCHPShowToastOption option, Action success = null, Action fail = null, Action complete = null) + { + _initScript?.ShowToast(option, success, fail, complete); + } + + /// + /// 隐藏 Toast + /// + public void HideToast(Action success = null, Action fail = null, Action complete = null) + { + _initScript?.HideToast(success, fail, complete); + } + + /// + /// 显示模态对话框 + /// + public void ShowModal(PCHPShowModalOption option, Action success = null, Action fail = null, Action complete = null) + { + _initScript?.ShowModal(option, success, fail, complete); + } + + /// + /// 显示 Loading + /// + public void ShowLoading(string title, bool mask = false, Action success = null, Action fail = null, Action complete = null) + { + _initScript?.ShowLoading(title, mask, success, fail, complete); + } + + /// + /// 隐藏 Loading + /// + public void HideLoading(Action success = null, Action fail = null, Action complete = null) + { + _initScript?.HideLoading(success, fail, complete); + } + + /// + /// 注册事件监听 + /// + public void On(string eventName, Action callback) + { + _initScript?.RegisterEventListener(eventName, callback); + } + + /// + /// 移除事件监听 + /// + public void Off(string eventName, Action callback = null) + { + _initScript?.UnregisterEventListener(eventName, callback); + } + + /// + /// 发送原始消息 + /// + public bool SendRawMessage(string message) + { + return _initScript?.SendRawMessage(message) ?? false; + } + } +} diff --git a/Runtime/WXPCHPInitScript.cs.meta b/Runtime/WXPCHPInitScript.cs.meta new file mode 100644 index 000000000..54959e04f --- /dev/null +++ b/Runtime/WXPCHPInitScript.cs.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 65b48177033749bf973a8af5bfb6b257 +DefaultImporter: +externalObjects: {} +userData: +assetBundleName: +assetBundleVariant: \ No newline at end of file diff --git a/Runtime/playable-default/check-version.js.meta b/Runtime/playable-default/check-version.js.meta index 3ee1fbe67..5f3c86201 100644 --- a/Runtime/playable-default/check-version.js.meta +++ b/Runtime/playable-default/check-version.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 - guid: d3d5d2167fc6b91f7fa3e08ea84c3cda + guid: 28899446f92813abc017215ece09564b DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/data-package.meta b/Runtime/playable-default/data-package.meta index fb95538b9..79cfc5a26 100644 --- a/Runtime/playable-default/data-package.meta +++ b/Runtime/playable-default/data-package.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 6c06693e00be3ab1fde2607590ab4e6d +guid: aa1d5b30a1d9014052f11cad2670393e 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 c68b1a91f..87d2e03f8 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: a02513af1cc852341848d1ee2622c3aa + guid: 56560c181a50b6ed69dbce5f841a46ee DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/events.js.meta b/Runtime/playable-default/events.js.meta index 0481ed41a..722b70e60 100644 --- a/Runtime/playable-default/events.js.meta +++ b/Runtime/playable-default/events.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 - guid: de11e750d070e1521430f1ea7d7e9b10 + guid: cd9d2a4b822b2a6e9e9cad875b78d30e DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/game.js.meta b/Runtime/playable-default/game.js.meta index 4b92cef81..6395ffd6b 100644 --- a/Runtime/playable-default/game.js.meta +++ b/Runtime/playable-default/game.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 - guid: 75c495849e8b58894c4df4019c28990f + guid: b78fadb0d56d2651cce08e4d0a1d7b8b DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/game.json.meta b/Runtime/playable-default/game.json.meta index eb5ec6a81..eeea48b3e 100644 --- a/Runtime/playable-default/game.json.meta +++ b/Runtime/playable-default/game.json.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 - guid: 2676c806e8720f27b3c91d7b88934aea + guid: ca563ce4e3d50d40250ace95cf4d2b5a DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/playable-fix.js.meta b/Runtime/playable-default/playable-fix.js.meta index 53c145c8e..1c8fea1fa 100644 --- a/Runtime/playable-default/playable-fix.js.meta +++ b/Runtime/playable-default/playable-fix.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 - guid: f98ab3c051a738848f5f25b3963ff875 + guid: 6e3e482927dfab693668a487c92625df DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/plugin-config.js.meta b/Runtime/playable-default/plugin-config.js.meta index 08bed247a..eb4931fdd 100644 --- a/Runtime/playable-default/plugin-config.js.meta +++ b/Runtime/playable-default/plugin-config.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 - guid: 14b4dacf147a2eb0b690def4fd2a25f8 + guid: 140e14eadf2ba97e573fb02804b4908e DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/plugins.meta b/Runtime/playable-default/plugins.meta index b3393336c..fd6705239 100644 --- a/Runtime/playable-default/plugins.meta +++ b/Runtime/playable-default/plugins.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: fdc5a07bfe255668c4bc90b063ab0439 +guid: ea4fc096af9a7cc258be6de28299cc10 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 2b7584192..b8226f037 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: cc12ac5f1dcfb4041e5b88bdb3d39df1 + guid: 77d410f576a4c99b91ee1eaa4ec9ed6b DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/plugins/screen-adapter.js.meta b/Runtime/playable-default/plugins/screen-adapter.js.meta index 30d3586d0..a5af119d6 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: 3a78826b373fd69d30b14736655164fc + guid: 8c0de764e7412cdac5ac442449b57c4c DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/project.config.json.meta b/Runtime/playable-default/project.config.json.meta index c0d720d1c..c520bb656 100644 --- a/Runtime/playable-default/project.config.json.meta +++ b/Runtime/playable-default/project.config.json.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 - guid: 7e3a00c4051da2b6217cd8e156b32adc + guid: c63edd3a8984af6f437d335d4da6d55b DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/texture-config.js.meta b/Runtime/playable-default/texture-config.js.meta index 2bbf5fa16..9097acf3a 100644 --- a/Runtime/playable-default/texture-config.js.meta +++ b/Runtime/playable-default/texture-config.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 - guid: fa4490b63d04c3666e7d5bd6dbbe4a58 + guid: 62d7d82e71575079d903119515b7e02b DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-namespace.js.meta b/Runtime/playable-default/unity-namespace.js.meta index 2945472bd..982edfbd9 100644 --- a/Runtime/playable-default/unity-namespace.js.meta +++ b/Runtime/playable-default/unity-namespace.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 - guid: 942f7b8a85c48dce854289ad244f3ca4 + guid: 3b69d1bf725f2a5b22174676c711bdfb DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-playable-plugin.meta b/Runtime/playable-default/unity-playable-plugin.meta index d18d1f76d..e99e73dff 100644 --- a/Runtime/playable-default/unity-playable-plugin.meta +++ b/Runtime/playable-default/unity-playable-plugin.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 4dadbfddf470bde3a646527500a79bb6 +guid: 7ffc8f045e80e93dcf8421ceccdd2286 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 37f7d5cd5..430fcfd45 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: 1516197a3756cc06853320f648bd30f2 + guid: ad8fdb60f01b5dc2bee092b99c69bc53 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk.meta b/Runtime/playable-default/unity-sdk.meta index e69020b1b..cd4282f4a 100644 --- a/Runtime/playable-default/unity-sdk.meta +++ b/Runtime/playable-default/unity-sdk.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: b193152a2bbc37d0feda3c6544e7afc8 +guid: a01044e15755b708d9152afeb5b99af2 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Runtime/playable-default/unity-sdk/audio.meta b/Runtime/playable-default/unity-sdk/audio.meta index f4c7747ef..e7eace77d 100644 --- a/Runtime/playable-default/unity-sdk/audio.meta +++ b/Runtime/playable-default/unity-sdk/audio.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: b5a694336b7dd91fd242250f890f19b5 +guid: 4611d918af0c2abf544919b91c34c24a 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 d7c4d78d0..df96c57d1 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: 5f862d1c69deabf4048bebed751c846d + guid: f93674309736b866b67fce195487754f 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 1b2ee6429..13f7cea56 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: 7eb49c157fec3510cca59918268546d6 + guid: 5dcbc4a169b3678d94199c6e3c69b023 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 4d2f50fe9..cb84e21be 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: f6eb3ae66cc21f0114a7c9e15ac57d76 + guid: d8851e8edd336d9adc7ea544668daefb 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 8e85a55bd..8ef09de55 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: 1151cf42fe9e3fe2b444ddddbde08396 + guid: 523efb46f09536abea4b253fe4597b61 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 00ac079e0..d3e71d4bb 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: 2b6db07c37dc2366237d59d8f785fd48 + guid: 86b43213e9f94d8022cd863f7f154517 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 9600bc8c0..936320dd5 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: 0e2b29c063f2d000be5dd2313958fa6c + guid: 70707c20b429a5ad0bb9758ef9c4ee88 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 d1144c63b..7c033b8f5 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: d34cf0ce316d07409a850c605540a013 + guid: 878874b37e27c8785c5b4215032c0e4c 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 ef3bf7b3a..db0d88df6 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: d91ef4c43c9f3c9a6da9a65b379b5740 + guid: ee8906ec10a506f89e2e595854b6ed95 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/canvas.js.meta b/Runtime/playable-default/unity-sdk/canvas.js.meta index fb3860152..1f6fb5820 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: 6660a6a8aacee1f2096340441fdbd3ce + guid: 1b28f3de84eebf692b06882e12ca107e DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/conf.js.meta b/Runtime/playable-default/unity-sdk/conf.js.meta index 6bab336a1..d244ceba2 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: 119c8bb6b0ad127ed8bac3162a9969f8 + guid: 2d4a6b0ae9e133566ffbe634063068b4 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 15fe9bdb1..0a10dd9f0 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: 59d869d78f133094896b88faa762234a + guid: 6e50143d925c2d3bccb04bd306874aca DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/fix.js.meta b/Runtime/playable-default/unity-sdk/fix.js.meta index 24628b842..f0d54a5d4 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: 34d39008817c30ca826af31fc01525e7 + guid: d6830ecbe3ebd9fc7c99628994e2109b DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/fs.js.meta b/Runtime/playable-default/unity-sdk/fs.js.meta index 2ea010643..f761ceeaa 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: 73a18f6a646fbaf0e8526fc1526ae97a + guid: 810022c3291e27903e54afe0c3ed356c DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/index.js.meta b/Runtime/playable-default/unity-sdk/index.js.meta index ab924e481..f2318136f 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: c9e4678df01d9876b1b0aa336ee45401 + guid: bc6d35876a1df184808fcf7ea16299f1 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/logger.js.meta b/Runtime/playable-default/unity-sdk/logger.js.meta index 42775c959..4df62b2b5 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: c2c849f6ee1aeeb7f9ccc36695a38d24 + guid: 986ac1ae35cec7469862f9d6a70545dd DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/mobileKeyboard.meta b/Runtime/playable-default/unity-sdk/mobileKeyboard.meta index af2d906db..f14d383c1 100644 --- a/Runtime/playable-default/unity-sdk/mobileKeyboard.meta +++ b/Runtime/playable-default/unity-sdk/mobileKeyboard.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: b2200a16cb9b949081f51aa4fe6807bd +guid: 7903401c90fdd999396fddef97b0c5b4 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 8f0603112..dfc8370b2 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: b89e0228f0375beca9b6d7b1ad95356a + guid: 20932608b374aead69eef9dfd15276b4 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 922378151..5129973d9 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: c82e223e59fd93811d3aa303bb51f02e + guid: 9d66cf62d960c22a50c3608e8722391d DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/recorder.js.meta b/Runtime/playable-default/unity-sdk/recorder.js.meta index 0dc3e8b8d..52f5e481d 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: 3c570e4eb7ff538d7aa640fb8c3d02da + guid: f7d6d428f44cb4f9017753e54c8792d4 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/resType.js.meta b/Runtime/playable-default/unity-sdk/resType.js.meta index e4d29d04d..c4be03961 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: 9a8702f6acee306755d112480d39813c + guid: 3c2dddbf9d3aabbed6d42b974d235a43 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/resTypeOther.js.meta b/Runtime/playable-default/unity-sdk/resTypeOther.js.meta index 5b99b9ca8..582770ce3 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: 90a536e2c5a0814cc1c58b70c92da9a4 + guid: 916440cf074e747848cb654d14f13861 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/response.js.meta b/Runtime/playable-default/unity-sdk/response.js.meta index da697a76c..a43d3d1b0 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: 02830b8246e010bdd89e47fefd9adf6b + guid: ba5c8a70265edd293a0bbc1bca8e1f23 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/sdk.js.meta b/Runtime/playable-default/unity-sdk/sdk.js.meta index 9dedb472b..af1da2509 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: 853f4640fa1b8a092c4ccb4669d6971c + guid: 5a047f6985037ff4af2f0216cae1e0d0 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 c177f04e9..0909ad0dc 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: 24c205c5759ec41da1b00eda2ac42564 + guid: edb36dedb719e633c52aab7b5f8fa6fd DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/texture.js.meta b/Runtime/playable-default/unity-sdk/texture.js.meta index 9cf4f8537..111fbda8b 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: 9782628a70978396e495b86274aa398d + guid: 0f10a9296a26f6b141050605f16db459 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/touch.meta b/Runtime/playable-default/unity-sdk/touch.meta index b3ce6d8cc..1bcd2d4c6 100644 --- a/Runtime/playable-default/unity-sdk/touch.meta +++ b/Runtime/playable-default/unity-sdk/touch.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 674bba89e7bc0b330d4920c8a1d2470f +guid: 395f3f8506fbde9f2d9595a862c0debb 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 71cc2b1bc..2a88f3e9d 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: faa496c26f840b60f61ac89b5f564f32 + guid: 90ae68d3704fdb72ab4e9f0fd382f475 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/util.js.meta b/Runtime/playable-default/unity-sdk/util.js.meta index 0d550a94b..736c934f0 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: 6cbac21da9894d5092f47042e7dcab8e + guid: a7933293bdabc5401eb78c5c2a67c2d2 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/utils.js.meta b/Runtime/playable-default/unity-sdk/utils.js.meta index 19d7152b9..ea73dbbd9 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: aa534e5bd9009a4f986abd6cc2ff823b + guid: 10cd9eebf96f177c39cd69b560cea12d DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/video.js.meta b/Runtime/playable-default/unity-sdk/video.js.meta index 3f6123120..2a1868ef7 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: 3251c8f50cca5fae20e0e2bbc567bf40 + guid: ae717fecd969ec6df4155595fb026b75 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/unity-sdk/video.meta b/Runtime/playable-default/unity-sdk/video.meta index f65da60aa..650165abb 100644 --- a/Runtime/playable-default/unity-sdk/video.meta +++ b/Runtime/playable-default/unity-sdk/video.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 6ee130afc0339063c59da8a830c7663e +guid: 063167dda766bb04e0e86aac07d043ae 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 63baed34d..382c67bf5 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: 30161526e5960c70e6965463a8c98492 + guid: 3d7597262408e2f20b02f5a1bff34903 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/wasmcode.meta b/Runtime/playable-default/wasmcode.meta index ba0aa256d..7145c7292 100644 --- a/Runtime/playable-default/wasmcode.meta +++ b/Runtime/playable-default/wasmcode.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 47d2bb9aac0b87cfdf12358dc192e755 +guid: cf20302275f0146493a7fe14f657decd folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Runtime/playable-default/wasmcode/game.js.meta b/Runtime/playable-default/wasmcode/game.js.meta index 11e065318..bf3f2e4d0 100644 --- a/Runtime/playable-default/wasmcode/game.js.meta +++ b/Runtime/playable-default/wasmcode/game.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 - guid: 7babfccd3322d8f0bb49bb466cc03624 + guid: d5b52d5802ad2bccc888949cf66982e0 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/playable-default/weapp-adapter.js.meta b/Runtime/playable-default/weapp-adapter.js.meta index 04b3af04a..34d7fdaa1 100644 --- a/Runtime/playable-default/weapp-adapter.js.meta +++ b/Runtime/playable-default/weapp-adapter.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 - guid: a99dd0e69496ec987fc46d387fee8587 + guid: 5a7e11087cbf87e802659b3456593e3f DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/check-version.js.meta b/Runtime/wechat-default/check-version.js.meta index 69124942e..fd845b670 100644 --- a/Runtime/wechat-default/check-version.js.meta +++ b/Runtime/wechat-default/check-version.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 - guid: deb969752e56efd1f30292483076fe8d + guid: 252e8a34c210937fd548bad299010393 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/data-package.meta b/Runtime/wechat-default/data-package.meta index a2d178242..9bb1d6861 100644 --- a/Runtime/wechat-default/data-package.meta +++ b/Runtime/wechat-default/data-package.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 873c3ff5c09c499cea533e76613b289c +guid: 0b55a20502c5a31cf83c607b8d02c793 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 e3a33d18d..4c3389c15 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: b62dfcd3bba0143fe64bb393b6718200 + guid: 92c6b0ea472825b3c96bc55b97759662 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/events.js.meta b/Runtime/wechat-default/events.js.meta index e2aba010f..02cfce041 100644 --- a/Runtime/wechat-default/events.js.meta +++ b/Runtime/wechat-default/events.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 - guid: 0f5d268ad00ae324c34a888a2bc0f3b9 + guid: 083c7cc77d88b5ea17946429df108415 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/game.js.meta b/Runtime/wechat-default/game.js.meta index 88a17a104..14cbe555b 100644 --- a/Runtime/wechat-default/game.js.meta +++ b/Runtime/wechat-default/game.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 - guid: c4b7634dc3628a25ae87b92a174f5056 + guid: ddb5b594a8c36b4d6aa282b1642b3115 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/game.json.meta b/Runtime/wechat-default/game.json.meta index 71ff9558f..925d534a6 100644 --- a/Runtime/wechat-default/game.json.meta +++ b/Runtime/wechat-default/game.json.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 - guid: acc81d1c264bc0dadd4552d59e6b5cc0 + guid: b69b9c95a5eaee75b990748fb3349fe1 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/images.meta b/Runtime/wechat-default/images.meta index a759e39d2..925cc13bf 100644 --- a/Runtime/wechat-default/images.meta +++ b/Runtime/wechat-default/images.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 304fa8442a722ea29aaf75c80ecf36d0 +guid: 88c9729d66da5e03f0d986dfcfcbaac2 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Runtime/wechat-default/images/background.jpg.meta b/Runtime/wechat-default/images/background.jpg.meta index 84907c342..fd4ea2b26 100644 --- a/Runtime/wechat-default/images/background.jpg.meta +++ b/Runtime/wechat-default/images/background.jpg.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 - guid: 07577f5e35b0d9d10be3e7da2f636244 + guid: 61e3864b146a15bd1001edb987600f68 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/images/unity_logo.png.meta b/Runtime/wechat-default/images/unity_logo.png.meta index 3bc5caad9..aea5d0987 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: 90f5231878ca8f4be00b3ce66b678dd1 + guid: da519d291f45321de3669a9c2242ae7d DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/open-data.meta b/Runtime/wechat-default/open-data.meta index 407e58d88..0500f1197 100644 --- a/Runtime/wechat-default/open-data.meta +++ b/Runtime/wechat-default/open-data.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: f54994eb4369a71edd1d509002ad2f14 +guid: f04169480cf692873309cef1f4b0a6c8 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Runtime/wechat-default/open-data/data.meta b/Runtime/wechat-default/open-data/data.meta index 8b4d35470..50eecfe0d 100644 --- a/Runtime/wechat-default/open-data/data.meta +++ b/Runtime/wechat-default/open-data/data.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 48fbcdad3f9d3b9f921019659939b17c +guid: fd3034a9e5d848643c9b02c1caef7699 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 a38acefeb..8d3ccd665 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: 116976e02bc785ec509b059f15a5826b + guid: 38c1a3295ec3820866efeb892a9f3aac 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 63fc5362d..9a9529656 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: 39b854a719f26a74ceafd3208b3d1559 + guid: 67459c98836cb4524ce79af7c167b045 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/open-data/index.js.meta b/Runtime/wechat-default/open-data/index.js.meta index f513e21c5..6b118312e 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: 71c319aa5539d8cc938c59c1f95015a2 + guid: 73c83bec8fece5a1ecdffcf03ffbe742 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/open-data/loading.js.meta b/Runtime/wechat-default/open-data/loading.js.meta index 654458fb3..2c9e90667 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: 4c4cd8fe6d78dca85ddf042297dbfa8e + guid: 29747fb536135bf9897bbb87d1cb1bc8 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/open-data/render.meta b/Runtime/wechat-default/open-data/render.meta index f38c2a239..3eb36be12 100644 --- a/Runtime/wechat-default/open-data/render.meta +++ b/Runtime/wechat-default/open-data/render.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: bfe81ba23a1b4042745b051435b5580c +guid: 7ed628f06e22df3399c522d31fca85f0 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 0dfdf02e4..2670db6ad 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: b2047abd88a0e4c828645361f0825461 +guid: 6d937f52be53a2517a33ca24a8653ba2 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 21836350e..b90aedd10 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: 05954e3656c1b42399214f7a474e1dc3 + guid: a26a13b4fc40c861022fa0bb4ab457a4 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 ef8a18a7c..3d88422e6 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: a10c90dec186b4fb6907d4c144ee7ab5 + guid: 5b0f3d52af2da668cc5bd085084975ea 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 b91ed14fb..24934c9fd 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: 9aa5b725da3747ea7fdd3007c9fc1e9a + guid: c7c1610bc12f8562fa967b11f99ca48a 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 d338d6aee..6ae232943 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: 3af9f84d877d17c7ba3a46100af46468 + guid: fbaa74d161e6ca01a643bb8662af08ce 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 02b41f253..d676aece3 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: 55b4fb765fdc8b3266dd1a0bbc43e676 + guid: 17d737b64e09eba8971a581375f387ae 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 cb120a372..77a8ba863 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: 00afcfdfb3003edd8e2b656b605b3ffa + guid: 3881c9a8d6afb2b61b0f961a02c97954 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 f4277baa1..4eea9129a 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: 89cb03c9ed8a7e361bce00ef148ccbf2 + guid: c3b3e717c6bc8c7d03e3a06eaaef6691 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 38398ff45..6f82f35b0 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: 59e31d5214092a6aac6c531551853ca0 + guid: 7f19ca688771786d2f1970a7bf244039 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 45d0d4685..5709bc543 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: 4a5a798604b6be679069a20a57e11ae1 + guid: ed4f59bb5bfe34aaf010577778787bea 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 fd027e578..5c4a86aac 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: 9a5673030b9bf70f70afdca6c803b04c + guid: d9bc3ab24d6286593d22fff04b78b815 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/open-data/render/styles.meta b/Runtime/wechat-default/open-data/render/styles.meta index 80c139eb2..23cd19799 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: a58425242d56601ca5e7a8bf142541f6 +guid: cf37eb7eaf50f9af3fe4662e469ec5dc 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 50c297394..e63d4afe5 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: 29cded948b6b950b5355ab9df10b67f1 + guid: 4f07c34aadfcd3f6d64388449992d014 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 5809ce348..0e7901050 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: f6bd670007bd1d4bc41da7f15fb61de3 + guid: bc090be07df21b426fec58b4fbeb20b7 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/open-data/render/tpls.meta b/Runtime/wechat-default/open-data/render/tpls.meta index 733956fcb..a2a6741dd 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: 5f46ee06f252207d0c6c78773d336387 +guid: 36a6dbbdf513731f032d793718e4eeb1 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 c870e9e55..5d1517f67 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: 6b99f11c83f8a7a71c350d75494fe556 + guid: ac22a84e8229126a03c9ba50aff83090 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 3510e5d57..5fabcd47b 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: ff57ccfe8dab7a471b52563b9972e2c3 + guid: 2e0f34277752cc7bc4625d4e7070ded5 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/plugin-config.js.meta b/Runtime/wechat-default/plugin-config.js.meta index 3f17ab3a7..097ccb166 100644 --- a/Runtime/wechat-default/plugin-config.js.meta +++ b/Runtime/wechat-default/plugin-config.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 - guid: f9cf8a7a084a8619a252f84e1fb1f251 + guid: 7886f5612071174b3ae1ee54464ae3e0 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/plugins.meta b/Runtime/wechat-default/plugins.meta index fc981b2a9..b4c7b61e8 100644 --- a/Runtime/wechat-default/plugins.meta +++ b/Runtime/wechat-default/plugins.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 6a74b91bbf9d4d98c4fff2ffab7a52c9 +guid: e7a0bf1ac09b898b9b8e2e930b6c5239 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 df1bfdbcb..b285c1c82 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: 26d8803cf9ba80350590438dd73bc5ca + guid: a82bfa406a1a2a7a1b38ffc44de478d7 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/plugins/screen-adapter.js.meta b/Runtime/wechat-default/plugins/screen-adapter.js.meta index 49d987b5e..79ed76238 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: 96a9103f7ec0a0d4fe95340265f74ecf + guid: 3d1505d606194a8996d5e9dc2c0310f3 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/project.config.json.meta b/Runtime/wechat-default/project.config.json.meta index e49b727e1..ad9910dc7 100644 --- a/Runtime/wechat-default/project.config.json.meta +++ b/Runtime/wechat-default/project.config.json.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 - guid: edb9d40efac2bdc4f79004a24386e758 + guid: b55017fd77c827ba2b2fe33cfd652294 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/texture-config.js.meta b/Runtime/wechat-default/texture-config.js.meta index 287bac263..3d4c30d3d 100644 --- a/Runtime/wechat-default/texture-config.js.meta +++ b/Runtime/wechat-default/texture-config.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 - guid: cee42bcbf2a6dc2f7ee386bdd7e6b7a6 + guid: 17419c52b45010f1a3e18abb161de70f DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-namespace.js.meta b/Runtime/wechat-default/unity-namespace.js.meta index 2b1180e8d..92dd9d2d6 100644 --- a/Runtime/wechat-default/unity-namespace.js.meta +++ b/Runtime/wechat-default/unity-namespace.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 - guid: 21b27cff06bdcc6455c16b124f88c9ac + guid: c6ba5ab87e9f2389933705d8c7959bfd DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk.meta b/Runtime/wechat-default/unity-sdk.meta index 15cc2d141..4e446ea58 100644 --- a/Runtime/wechat-default/unity-sdk.meta +++ b/Runtime/wechat-default/unity-sdk.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: f5411f494113c860af36d9dc677da755 +guid: f14496534fa84504e9f475b64e53d1ed folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Runtime/wechat-default/unity-sdk/TCPSocket.meta b/Runtime/wechat-default/unity-sdk/TCPSocket.meta index cfd10c115..c3022f9cc 100644 --- a/Runtime/wechat-default/unity-sdk/TCPSocket.meta +++ b/Runtime/wechat-default/unity-sdk/TCPSocket.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 200c2363eb490ac8bd42de6a6152acb7 +guid: 405bfec4b687af0d3293080ff07682cb 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 92d547e00..41a0cd274 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: c62268f3cbc41cfa6a869aa488b7dcaa + guid: 5100866514793f00fe9284ca4a89ee6e DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/UDPSocket.meta b/Runtime/wechat-default/unity-sdk/UDPSocket.meta index 56dd83b4c..e59f6fb79 100644 --- a/Runtime/wechat-default/unity-sdk/UDPSocket.meta +++ b/Runtime/wechat-default/unity-sdk/UDPSocket.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 5d17de8310e96d5659e9eedc881d8caf +guid: d1b4602a9b49946bbb8d20147c2f7a77 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 b7f7dde93..5abcc473e 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: 90de48298fb45b9074181f93ec2daade + guid: f10d50f6fde225bc50f3e880065e8d6e DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/ad.js.meta b/Runtime/wechat-default/unity-sdk/ad.js.meta index 63cd9f370..db7329f92 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: d111d3fd9892730124f6eb52437251c3 + guid: af405bb558b989b7048a5ec72f5a2f43 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/audio.meta b/Runtime/wechat-default/unity-sdk/audio.meta index cfb18e7e4..069f71e86 100644 --- a/Runtime/wechat-default/unity-sdk/audio.meta +++ b/Runtime/wechat-default/unity-sdk/audio.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 3c3df3a78955de8c28dc7c459aded8ff +guid: 74e3ee440d9de1286f38b10dd8bd4cf2 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 3aef7145c..d1737d982 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: 525f9e24a2e7e928d6d04b11580c04be + guid: 2ba717233be99816e8d417f6a1cfecaf 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 cf990437b..15ab82286 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: 8aca97c9d6119da269ba15f63acfede4 + guid: 30ebcc92034e10764cc7cd4ba71b5995 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 22038d6f9..a1d00edef 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: 6402c7c79ecacc3240c1adf0319f7c89 + guid: 01dda61a224d7a96a25e4eb9c378dc75 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 8dd92d36f..e1cd443f0 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: d500a2aa78215a88443bfe7115e1ccf2 + guid: 8c427fa659196b2a2313d58ab49fe898 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 ff1c7a51e..5cfaf2db5 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: c406972ff66cdfdea6b3856ec52f6e19 + guid: 64dda8b5deb69e126fce5cb749968d01 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 d1198d25e..dc0efcb8c 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: 95da111cd0fd60e43b7cb02a7bc38fd1 + guid: c107063929d78a7fe7fccd2e0dc13353 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 599eb5742..d626eb33d 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: 52bb3fb3cd0456b94ed3bd611de4227d + guid: 41dc8b6a9afa98e3a3d2d065ac6b20e6 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/authorize.js.meta b/Runtime/wechat-default/unity-sdk/authorize.js.meta index ecfee1b34..35ad6db57 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: 4a3c2e5d9acbe7daffe66f981f2c8355 + guid: 6d736f80985418f8c12f776b3bb17f50 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/bluetooth.meta b/Runtime/wechat-default/unity-sdk/bluetooth.meta index 2830c2a0d..0f9b5dc1b 100644 --- a/Runtime/wechat-default/unity-sdk/bluetooth.meta +++ b/Runtime/wechat-default/unity-sdk/bluetooth.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: e3ced4be60a007b23382c35a96c329c8 +guid: f200f17dc82f047307c5064d6f884d61 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 3bed9bf74..4f15e6bdc 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: ea18d2b47acdcd3fbd34ae8a4228936a + guid: 768b3f72a08542feb7b330ae445f9ac5 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/camera.js.meta b/Runtime/wechat-default/unity-sdk/camera.js.meta index 3bcf4be7d..20f11f0a9 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: 2298b5ff5eef247e681f2a1b4a31ced8 + guid: f9d5089a931a6bf833b40aa11be5d413 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 cdce1e1c5..54fc07482 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: 2d8f13a9dbeca7eab9e20fe95aaf7363 + guid: 3ec546addd21f762ac029b61c083da3e DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/canvas.js.meta b/Runtime/wechat-default/unity-sdk/canvas.js.meta index cd2b0a278..96b6918ce 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: 413a48902a2c99154741472fd5f89d1a + guid: f9636e1df73e62b23f0b978316669585 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/chat.js.meta b/Runtime/wechat-default/unity-sdk/chat.js.meta index 30a4271f9..4af0a2ca1 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: c86b3be554947b7ad72a89bb5a4920bd + guid: 0b3a3cc808b40c2d6481d411f2fc5c5c DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/cloud.js.meta b/Runtime/wechat-default/unity-sdk/cloud.js.meta index 801b1e2c4..1b39b7cf2 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: 81e2c4a262721de36fabc0e3e8636666 + guid: b7d32c17417aa69a0f91e251a4207bd8 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/conf.js.meta b/Runtime/wechat-default/unity-sdk/conf.js.meta index aa5e9de9c..cf4b89197 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: a796bbbfc63077cf9c917378f42cc5ce + guid: e3e5c1d2e04aeeb9a33fd1e8c48b6f6d 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 588b02adf..64f403f24 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: 9fed21f35a9be181a00d4e1f48df49d4 + guid: d2665cf356a9f3ba6b52e22ecf2f1ae1 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/fix.js.meta b/Runtime/wechat-default/unity-sdk/fix.js.meta index f783ca130..ed4c4783a 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: 55859b2ca9b107764ea697eae3e6f33a + guid: 2aff8da1f800a26e8b8beee6584d6fab DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/font.meta b/Runtime/wechat-default/unity-sdk/font.meta index 6c3f7076e..3f1ae1cdf 100644 --- a/Runtime/wechat-default/unity-sdk/font.meta +++ b/Runtime/wechat-default/unity-sdk/font.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 6b4ad72a189d905586c044d29c3cf484 +guid: f545e0c7261cd1a54c46bc7f19ac64b2 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 9b36cdfcd..f5d09e5b4 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: 0186d384afa80caf0e51eab25c5b010e + guid: 0876610c5e54f4b78fb65b0ee8b53093 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/font/index.js.meta b/Runtime/wechat-default/unity-sdk/font/index.js.meta index ad332fdda..66246ade4 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: e4dc7847e9f58fea1e593ff983f0f359 + guid: d26a0a8b5bd1fd52aa8739c5af4ee0c3 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 f6bba8af9..1fb304e75 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: dcdf306b70074dd327165ac845156d73 + guid: 7e4cd50192ee39cf45072226cf2df050 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 3d81b22b6..e91867fc0 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: efb28ec972ad9078ca87cddf5cf95037 + guid: 2b218eb0ca54a7015ea428dea5348d26 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 693261c4f..e741566fe 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: 32b999d9c6c6a3e78a71abd75808cd40 + guid: b40d10a49b76200776bef63f98e163b3 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/fs.js.meta b/Runtime/wechat-default/unity-sdk/fs.js.meta index 15023f67b..910030f1f 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: 2690f08b3b083bcc69bfd72d86d61e86 + guid: c7c6a3253d21c0f7f9dce0a7c087dea2 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 37b493441..e8d146edf 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: 972995c9786a741030857bc9ecc6440f + guid: 0738929cf4a045b1c24a787f3f3d18eb 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 0fac10b46..31d3fd024 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: 5764aa6b5049b3c0b2b1b13f0ee16e94 + guid: 6d56a0bf029f5826202fe62d2562fd5a DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/gyroscope.meta b/Runtime/wechat-default/unity-sdk/gyroscope.meta index 4b488dfe4..6ea292db1 100644 --- a/Runtime/wechat-default/unity-sdk/gyroscope.meta +++ b/Runtime/wechat-default/unity-sdk/gyroscope.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 7f257d8ce4cdba29c20b438fbbaafb2e +guid: f0a0d6d707d3aaef172d7c51b4405d71 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 4d3424a3b..7e70a29ae 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: 38f16790c9580a28264b8bbb93f61056 + guid: 8749472ae7bb1a2ed86b90d93b8f50de DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/index.js.meta b/Runtime/wechat-default/unity-sdk/index.js.meta index 61b7e9557..f2becb3d0 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: e3b3c6dd61d8c57b1734b263a8673ba8 + guid: e08ec34c4b8a6c99e11f460a91b35537 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/logger.js.meta b/Runtime/wechat-default/unity-sdk/logger.js.meta index 3ba21280e..e0bfa5883 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: 87f83da2d74a47c731c31dd520fee7e8 + guid: ddb4fdf6ccdc0298e81ad978a25b073b DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/mobileKeyboard.meta b/Runtime/wechat-default/unity-sdk/mobileKeyboard.meta index 2a4e99f66..e5494ba2e 100644 --- a/Runtime/wechat-default/unity-sdk/mobileKeyboard.meta +++ b/Runtime/wechat-default/unity-sdk/mobileKeyboard.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 25b9ac066940849660126f4ab20e4182 +guid: 3acc83f17835801f4bbbfc15f5df082e 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 b6c5e7d85..d7655e10a 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: 707eedbe7c6973ee2ccfdfb6dd0cec6a + guid: f2ec46f13817f96939f7969e5a66b7cc 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 770b6b39e..3e7ea2507 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: 6b1d85d81eae9b38e0dd3aa97254f227 + guid: 8391b5e252af20cb5bca23403d4c9d2b DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/open-data.js.meta b/Runtime/wechat-default/unity-sdk/open-data.js.meta index 957ab336b..32f29e922 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: ba989a8c2ef29f95456c9f20c4978eae + guid: 53f42912a4624a25f9a14a1bda33c215 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/recorder.js.meta b/Runtime/wechat-default/unity-sdk/recorder.js.meta index 49a4a3cd4..30504f4b6 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: 947f1c70452864cb3b61b43580dc14cf + guid: 6336faf3254b535c0da8623d5cfe48db DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/resType.js.meta b/Runtime/wechat-default/unity-sdk/resType.js.meta index 05277469b..642ac72e9 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: 7902ec18d20301ca3fa2dbfed7792a1c + guid: 2b783bf91bc2daa731154d95978bb1f1 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/resTypeOther.js.meta b/Runtime/wechat-default/unity-sdk/resTypeOther.js.meta index 55c59475d..3707bcfd5 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: dec3ce46096de8834db3ed98536e74e1 + guid: f38c90211ac50271262286115c80f1ef DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/response.js.meta b/Runtime/wechat-default/unity-sdk/response.js.meta index 36918d0f8..8af946f71 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: 2c05ae6f9561735272fef3e3f6b4ecc9 + guid: 085942c8ea81900156dcabde672905cb DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/sdk.js.meta b/Runtime/wechat-default/unity-sdk/sdk.js.meta index 8a4e0cd28..b372a2d3f 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: 301415e3de7d5406a649871fdfde772a + guid: 24413316bfdc5187a6c14c2baff4f4e7 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/share.js.meta b/Runtime/wechat-default/unity-sdk/share.js.meta index 89cf8bb33..5df3a64eb 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: bb97bd028a4d0c712efa2ba280ab24e0 + guid: 0d5c250090705a51723f159d36ae59dc DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/storage.js.meta b/Runtime/wechat-default/unity-sdk/storage.js.meta index cd6f28a82..f8ea56c91 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: 97cd600b2fb9ef89d94ba7c0274cc490 + guid: fab9c233bb124602e156c1cf12809ffd DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/texture.js.meta b/Runtime/wechat-default/unity-sdk/texture.js.meta index 15247a7ef..725a371cf 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: 8c12a26b5aaf29c9a496493181298ac1 + guid: b6355a7734ba0457c44987c85f261064 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/touch.meta b/Runtime/wechat-default/unity-sdk/touch.meta index 5e0f63569..dc55b2f25 100644 --- a/Runtime/wechat-default/unity-sdk/touch.meta +++ b/Runtime/wechat-default/unity-sdk/touch.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 2a527e638944a2c7966cca8f883d97a3 +guid: a55ea425aab2d2ba68658b485439aa0b 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 2a916cd9e..a61da2458 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: d26931ee77b39d82ac4a590215d2d401 + guid: 15eb9de54e04f3b394549070c79986c7 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 77eed949a..d4a103b57 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: 41da85adab1a8375154b0d0cbddcad56 + guid: e1ccff77f4f2fa820c249c0dd8fd8eee DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/userinfo.js.meta b/Runtime/wechat-default/unity-sdk/userinfo.js.meta index 9b025c9ce..6f8414745 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: 5290186188fb99f148a0909a6fec0e65 + guid: 429430c20ad4f07706fb5bbb9a401e34 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/util.js.meta b/Runtime/wechat-default/unity-sdk/util.js.meta index d0b488b4a..422d9b9a5 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: bb38d68a06ebcf4f826db14afe5c86a6 + guid: 6ebd2246d9f85f94d709e1915534e0d1 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/utils.js.meta b/Runtime/wechat-default/unity-sdk/utils.js.meta index 699f118d2..e877e2783 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: 86115cda650af5a491322811dd151afa + guid: 2b5f69bfd465c09025087e8d9415b9db DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/video.js.meta b/Runtime/wechat-default/unity-sdk/video.js.meta index bae6f763a..e29c96269 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: ecdfb9c9c051a9e0327f05b356062db0 + guid: 1c5d25a5b5b67acd9d429cced6824a61 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/unity-sdk/video.meta b/Runtime/wechat-default/unity-sdk/video.meta index 9a0f158b8..f710a07bd 100644 --- a/Runtime/wechat-default/unity-sdk/video.meta +++ b/Runtime/wechat-default/unity-sdk/video.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: ef797d24859e9a0d7f684b1937e06e3f +guid: 5cb81cb6ae8d3dd9b829f515e2a2149c 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 922fdd3fe..acbce8925 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: 5d8f555bce860047602ef541b6c5063b + guid: 33538b51b41d1c1bb15b7e3b46f1268f DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/wasmcode.meta b/Runtime/wechat-default/wasmcode.meta index 385051c8f..4dbf4c40f 100644 --- a/Runtime/wechat-default/wasmcode.meta +++ b/Runtime/wechat-default/wasmcode.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 35a601e53c9e15487be956df49fbb317 +guid: a78745d2ab5bae8de55bca28db4410db folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Runtime/wechat-default/wasmcode/game.js.meta b/Runtime/wechat-default/wasmcode/game.js.meta index 3e997cd8b..4b1e049ec 100644 --- a/Runtime/wechat-default/wasmcode/game.js.meta +++ b/Runtime/wechat-default/wasmcode/game.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 - guid: 801f369a209b7c5cd65e0ab77059cdcf + guid: 648d3b17d289c94bd57f2420e416bf41 DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/weapp-adapter.js.meta b/Runtime/wechat-default/weapp-adapter.js.meta index f5e4fc61e..0e25e3815 100644 --- a/Runtime/wechat-default/weapp-adapter.js.meta +++ b/Runtime/wechat-default/weapp-adapter.js.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 - guid: a2c66f789f28151d12999baaa3bdaeb5 + guid: d880a94e1915a53df538c7cd667e2a0d DefaultImporter: externalObjects: {} userData: diff --git a/Runtime/wechat-default/workers.meta b/Runtime/wechat-default/workers.meta index afb4062c3..1ed86cae7 100644 --- a/Runtime/wechat-default/workers.meta +++ b/Runtime/wechat-default/workers.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 3e862c14cabeade40e53ac32d5011a75 +guid: 314c2bd7f95c7c66fd62d7ae16f4708c folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Runtime/wechat-default/workers/response.meta b/Runtime/wechat-default/workers/response.meta index 239f34c0b..5d09ad328 100644 --- a/Runtime/wechat-default/workers/response.meta +++ b/Runtime/wechat-default/workers/response.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: fd93c94282bbc01d424b2680fb68be66 +guid: 08c3fd8fcd230b00fc45d18a7c5aa53e 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 24f55df69..b35634c3b 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: edcb4e85d6566bdaa4c8b83ba9ac2ad9 + guid: 88ebecaa6ccd1c91de4ab18e1c652030 DefaultImporter: externalObjects: {} userData: diff --git a/package.json b/package.json index 496db7a3d..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.32","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