mirror of
https://github.com/wechat-miniprogram/minigame-tuanjie-transform-sdk.git
synced 2026-04-22 01:35:56 +08:00
Auto-publish.
This commit is contained in:
parent
6dee791073
commit
495a037443
168
Editor/PCHighPerformance/PCHPBuildPreProcessor.cs
Normal file
168
Editor/PCHighPerformance/PCHPBuildPreProcessor.cs
Normal file
@ -0,0 +1,168 @@
|
|||||||
|
using UnityEngine;
|
||||||
|
using UnityEditor;
|
||||||
|
using UnityEditor.Build;
|
||||||
|
using UnityEditor.Build.Reporting;
|
||||||
|
using UnityEditor.SceneManagement;
|
||||||
|
using System.IO;
|
||||||
|
|
||||||
|
namespace WeChatWASM
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// PC高性能小游戏构建预处理器
|
||||||
|
/// 负责在构建前向首场景注入 EmbeddedAppletSDK
|
||||||
|
/// </summary>
|
||||||
|
public class PCHPBuildPreProcessor : IPreprocessBuildWithReport
|
||||||
|
{
|
||||||
|
public int callbackOrder => 0;
|
||||||
|
|
||||||
|
public void OnPreprocessBuild(BuildReport report)
|
||||||
|
{
|
||||||
|
// 只处理 Windows/Mac Standalone 构建
|
||||||
|
var buildTarget = report.summary.platform;
|
||||||
|
if (buildTarget != BuildTarget.StandaloneWindows64 &&
|
||||||
|
buildTarget != BuildTarget.StandaloneOSX)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Debug.Log("[PC高性能小游戏] 开始预处理构建...");
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
// 1. 确保用户项目中有 EmbeddedAppletSDK 脚本(可选)
|
||||||
|
EnsureSDKScriptExists();
|
||||||
|
|
||||||
|
// 2. 向首场景注入 SDK GameObject
|
||||||
|
InjectSDKToFirstScene();
|
||||||
|
|
||||||
|
Debug.Log("[PC高性能小游戏] 预处理完成!");
|
||||||
|
}
|
||||||
|
catch (System.Exception e)
|
||||||
|
{
|
||||||
|
Debug.LogError($"[PC高性能小游戏] 预处理失败: {e.Message}\n{e.StackTrace}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 确保用户项目中存在 EmbeddedAppletSDK.cs 脚本
|
||||||
|
/// 如果不存在,从模板复制
|
||||||
|
/// </summary>
|
||||||
|
private void EnsureSDKScriptExists()
|
||||||
|
{
|
||||||
|
// 检查用户项目中是否已有脚本
|
||||||
|
var sdkType = System.Type.GetType("EmbeddedAppletSDK");
|
||||||
|
if (sdkType != null)
|
||||||
|
{
|
||||||
|
Debug.Log("[PC高性能小游戏] 用户项目中已存在 EmbeddedAppletSDK 脚本");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 模板路径(SDK 包内)
|
||||||
|
string templatePath = Path.Combine(
|
||||||
|
Application.dataPath,
|
||||||
|
"WX-WASM-SDK-V2/Editor/PCHighPerformance/Templates/EmbeddedAppletSDK.cs"
|
||||||
|
);
|
||||||
|
|
||||||
|
if (!File.Exists(templatePath))
|
||||||
|
{
|
||||||
|
Debug.LogWarning($"[PC高性能小游戏] 找不到模板文件: {templatePath}");
|
||||||
|
Debug.LogWarning("[PC高性能小游戏] 将仅创建空 GameObject,不添加组件");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 目标路径(用户项目 Scripts 目录)
|
||||||
|
string targetPath = Path.Combine(Application.dataPath, "Scripts/EmbeddedAppletSDK.cs");
|
||||||
|
|
||||||
|
// 确保目标目录存在
|
||||||
|
string targetDir = Path.GetDirectoryName(targetPath);
|
||||||
|
if (!Directory.Exists(targetDir))
|
||||||
|
{
|
||||||
|
Directory.CreateDirectory(targetDir);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 复制文件
|
||||||
|
File.Copy(templatePath, targetPath, false); // 不覆盖已存在的文件
|
||||||
|
AssetDatabase.Refresh();
|
||||||
|
|
||||||
|
Debug.Log($"[PC高性能小游戏] 已复制 EmbeddedAppletSDK.cs 到: {targetPath}");
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 向第一个启用的场景注入 SDK GameObject
|
||||||
|
/// </summary>
|
||||||
|
private void InjectSDKToFirstScene()
|
||||||
|
{
|
||||||
|
// 1. 获取第一个启用的场景
|
||||||
|
var firstScenePath = GetFirstEnabledScene();
|
||||||
|
if (string.IsNullOrEmpty(firstScenePath))
|
||||||
|
{
|
||||||
|
Debug.LogWarning("[PC高性能小游戏] 没有找到启用的场景,跳过注入");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 2. 保存当前场景状态
|
||||||
|
var currentScenes = EditorSceneManager.GetSceneManagerSetup();
|
||||||
|
|
||||||
|
// 3. 打开目标场景
|
||||||
|
var scene = EditorSceneManager.OpenScene(firstScenePath, OpenSceneMode.Single);
|
||||||
|
|
||||||
|
// 4. 检查是否已存在 SDK 对象
|
||||||
|
var existingSDK = GameObject.Find("EmbeddedAppletSDK");
|
||||||
|
if (existingSDK != null)
|
||||||
|
{
|
||||||
|
Debug.Log($"[PC高性能小游戏] 场景 {scene.name} 中已存在 SDK 对象,跳过注入");
|
||||||
|
RestoreScenes(currentScenes);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 5. 创建空 GameObject 并添加 EmbeddedAppletSDK 组件
|
||||||
|
var sdkObject = new GameObject("EmbeddedAppletSDK");
|
||||||
|
|
||||||
|
// 尝试添加组件(如果用户项目中有该脚本)
|
||||||
|
var sdkType = System.Type.GetType("EmbeddedAppletSDK");
|
||||||
|
if (sdkType != null)
|
||||||
|
{
|
||||||
|
sdkObject.AddComponent(sdkType);
|
||||||
|
Debug.Log($"[PC高性能小游戏] 已在 {scene.name} 中创建 SDK 对象并添加组件");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Debug.LogWarning("[PC高性能小游戏] 找不到 EmbeddedAppletSDK 类型,仅创建空对象");
|
||||||
|
Debug.LogWarning("[PC高性能小游戏] 请确保项目中包含 EmbeddedAppletSDK.cs 脚本");
|
||||||
|
}
|
||||||
|
|
||||||
|
// 6. 保存场景
|
||||||
|
EditorSceneManager.MarkSceneDirty(scene);
|
||||||
|
EditorSceneManager.SaveScene(scene);
|
||||||
|
|
||||||
|
// 7. 恢复之前的场景布局
|
||||||
|
RestoreScenes(currentScenes);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取第一个启用的场景路径
|
||||||
|
/// </summary>
|
||||||
|
private string GetFirstEnabledScene()
|
||||||
|
{
|
||||||
|
foreach (var scene in EditorBuildSettings.scenes)
|
||||||
|
{
|
||||||
|
if (scene.enabled)
|
||||||
|
{
|
||||||
|
return scene.path;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 恢复之前打开的场景布局
|
||||||
|
/// </summary>
|
||||||
|
private void RestoreScenes(UnityEditor.SceneManagement.SceneSetup[] setup)
|
||||||
|
{
|
||||||
|
if (setup != null && setup.Length > 0)
|
||||||
|
{
|
||||||
|
EditorSceneManager.RestoreSceneManagerSetup(setup);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
7
Editor/PCHighPerformance/PCHPBuildPreProcessor.cs.meta
Normal file
7
Editor/PCHighPerformance/PCHPBuildPreProcessor.cs.meta
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: d77519b22941383a15741d248fbe4ebc
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
114
Editor/PCHighPerformance/README_AutoInjection.md
Normal file
114
Editor/PCHighPerformance/README_AutoInjection.md
Normal file
@ -0,0 +1,114 @@
|
|||||||
|
# PC高性能小游戏 - 自动化构建注入
|
||||||
|
|
||||||
|
## 📂 文件结构
|
||||||
|
|
||||||
|
```
|
||||||
|
WX-WASM-SDK-V2/Editor/PCHighPerformance/
|
||||||
|
├── PCHPBuildPreProcessor.cs # 构建预处理器(自动注入)
|
||||||
|
├── WXPCSettingHelper.cs # 构建配置助手
|
||||||
|
├── WXEditorPCHPWindow.cs # 编辑器窗口
|
||||||
|
└── Templates/
|
||||||
|
└── EmbeddedAppletSDK.cs # SDK 运行时脚本模板
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🎯 功能说明
|
||||||
|
|
||||||
|
### 自动注入机制
|
||||||
|
|
||||||
|
**触发时机**:开发者点击「生成并转换」按钮,Unity 开始构建 Windows/macOS 平台前
|
||||||
|
|
||||||
|
**工作流程**:
|
||||||
|
|
||||||
|
```
|
||||||
|
构建开始
|
||||||
|
↓
|
||||||
|
PCHPBuildPreProcessor.OnPreprocessBuild() 触发
|
||||||
|
↓
|
||||||
|
Step 1: 检查用户项目是否有 EmbeddedAppletSDK.cs
|
||||||
|
├── 有 → 跳过
|
||||||
|
└── 没有 → 从 Templates/ 复制到 Assets/Scripts/
|
||||||
|
↓
|
||||||
|
Step 2: 打开首个启用场景
|
||||||
|
↓
|
||||||
|
Step 3: 检查场景是否已有 "EmbeddedAppletSDK" GameObject
|
||||||
|
├── 有 → 跳过注入
|
||||||
|
└── 没有 → 创建空 GameObject + 添加 EmbeddedAppletSDK 组件
|
||||||
|
↓
|
||||||
|
Step 4: 保存场景并恢复原始布局
|
||||||
|
↓
|
||||||
|
继续正常构建流程
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ✅ 关键特性
|
||||||
|
|
||||||
|
1. **零侵入**:不修改开发者当前打开的场景
|
||||||
|
2. **智能检测**:自动检测是否已存在脚本/对象,避免重复
|
||||||
|
3. **自动复制**:首次使用时自动将 SDK 脚本复制到用户项目
|
||||||
|
4. **可定制**:开发者可修改复制后的脚本实现自定义逻辑
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔧 配置说明
|
||||||
|
|
||||||
|
### 模板文件位置
|
||||||
|
|
||||||
|
```
|
||||||
|
Assets/WX-WASM-SDK-V2/Editor/PCHighPerformance/Templates/EmbeddedAppletSDK.cs
|
||||||
|
```
|
||||||
|
|
||||||
|
**作用**:首次构建时自动复制到用户项目的 `Assets/Scripts/` 目录
|
||||||
|
|
||||||
|
### 复制目标路径
|
||||||
|
|
||||||
|
```
|
||||||
|
用户项目/Assets/Scripts/EmbeddedAppletSDK.cs
|
||||||
|
```
|
||||||
|
|
||||||
|
**策略**:`File.Copy(overwrite: false)` → 不会覆盖用户已修改的文件
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🐛 常见问题
|
||||||
|
|
||||||
|
### Q: 为什么导出的工程没有 SDK 对象?
|
||||||
|
|
||||||
|
检查 Console 日志:
|
||||||
|
- ✅ `[PC高性能小游戏] 已在 XXX 中创建 SDK 对象并添加组件` → 成功
|
||||||
|
- ⚠️ `找不到 EmbeddedAppletSDK 类型` → 脚本未编译或命名空间错误
|
||||||
|
|
||||||
|
### Q: 如何自定义 SDK 逻辑?
|
||||||
|
|
||||||
|
1. 构建一次(自动复制模板到 `Assets/Scripts/EmbeddedAppletSDK.cs`)
|
||||||
|
2. 修改该文件
|
||||||
|
3. 后续构建会使用你修改的版本
|
||||||
|
|
||||||
|
### Q: DLL 加载失败?
|
||||||
|
|
||||||
|
**原因**:`direct_applet_sdk.dll` 必须在 **运行时** 的根目录(与 .exe 同级)
|
||||||
|
|
||||||
|
**解决**:确保宿主程序启动时提供 DLL
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📝 技术细节
|
||||||
|
|
||||||
|
| 项 | 值 |
|
||||||
|
|---|---|
|
||||||
|
| 触发接口 | `IPreprocessBuildWithReport` |
|
||||||
|
| 回调优先级 | `callbackOrder = 0` |
|
||||||
|
| 支持平台 | Windows x64, macOS |
|
||||||
|
| 场景修改策略 | 临时打开 → 注入 → 保存 → 恢复 |
|
||||||
|
| 脚本复制策略 | 首次复制,不覆盖已有文件 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔄 更新日志
|
||||||
|
|
||||||
|
### v1.0.0 (2026-03-02)
|
||||||
|
- ✅ 实现自动注入 EmbeddedAppletSDK GameObject
|
||||||
|
- ✅ 智能检测并复制模板脚本
|
||||||
|
- ✅ 兼容 Windows 和 macOS 构建
|
||||||
7
Editor/PCHighPerformance/README_AutoInjection.md.meta
Normal file
7
Editor/PCHighPerformance/README_AutoInjection.md.meta
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: a0010f8ac98e6b288b2efbec568a4ad1
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
339
Editor/PCHighPerformance/Templates/EmbeddedAppletSDK.cs
Normal file
339
Editor/PCHighPerformance/Templates/EmbeddedAppletSDK.cs
Normal file
@ -0,0 +1,339 @@
|
|||||||
|
using System;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 嵌入式小程序SDK封装类
|
||||||
|
/// 负责与宿主程序的 direct_applet_sdk.dll 进行交互
|
||||||
|
/// </summary>
|
||||||
|
public class EmbeddedAppletSDK : 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 EmbeddedAppletSDK instance;
|
||||||
|
public static EmbeddedAppletSDK Instance => instance;
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Events
|
||||||
|
|
||||||
|
// 收到异步消息时触发的事件
|
||||||
|
public event Action<byte[]> 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()
|
||||||
|
{
|
||||||
|
if (instance != null && instance != this)
|
||||||
|
{
|
||||||
|
Destroy(gameObject);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
instance = this;
|
||||||
|
DontDestroyOnLoad(gameObject);
|
||||||
|
|
||||||
|
// 初始化SDK
|
||||||
|
Initialize();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnDestroy()
|
||||||
|
{
|
||||||
|
if (instance == this)
|
||||||
|
{
|
||||||
|
CleanupSDK();
|
||||||
|
instance = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnApplicationQuit()
|
||||||
|
{
|
||||||
|
CleanupSDK();
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Public Methods
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 初始化SDK并建立连接
|
||||||
|
/// </summary>
|
||||||
|
public void Initialize()
|
||||||
|
{
|
||||||
|
if (IsInitialized)
|
||||||
|
{
|
||||||
|
Debug.LogWarning("[EmbeddedAppletSDK] SDK已经初始化");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
// 1. 初始化SDK
|
||||||
|
ShowInfo("开始调用 InitEmbeddedGameSDK...");
|
||||||
|
if (!InitEmbeddedGameSDK())
|
||||||
|
{
|
||||||
|
ShowError("InitEmbeddedGameSDK 返回 false");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
ShowInfo("InitEmbeddedGameSDK 成功");
|
||||||
|
|
||||||
|
// 2. 注册消息处理器 (暂时屏蔽)
|
||||||
|
// asyncMsgHandler = HandleAsyncMessage;
|
||||||
|
// RegisterAsyncMsgHandler(asyncMsgHandler);
|
||||||
|
// ShowInfo("RegisterAsyncMsgHandler 成功");
|
||||||
|
ShowInfo("RegisterAsyncMsgHandler 已跳过");
|
||||||
|
|
||||||
|
// 3. 建立连接 (暂时屏蔽)
|
||||||
|
if (!EstablishConnection())
|
||||||
|
{
|
||||||
|
ShowError("EstablishConnection 返回 false");
|
||||||
|
IsConnected = true;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 4. 获取窗口句柄并初始化游戏窗口
|
||||||
|
WindowHandle = GetActiveWindow();
|
||||||
|
if (WindowHandle == IntPtr.Zero)
|
||||||
|
{
|
||||||
|
ShowError("GetActiveWindow 返回空句柄");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
ShowInfo($"获取窗口句柄成功: 0x{WindowHandle.ToInt64():X}");
|
||||||
|
|
||||||
|
if (!InitGameWindow((ulong)WindowHandle.ToInt64()))
|
||||||
|
{
|
||||||
|
ShowError("InitGameWindow 返回 false");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
ShowInfo("InitGameWindow 成功");
|
||||||
|
|
||||||
|
IsInitialized = true;
|
||||||
|
ShowInfo("SDK 完全初始化成功!");
|
||||||
|
}
|
||||||
|
catch (DllNotFoundException e)
|
||||||
|
{
|
||||||
|
ShowError($"找不到DLL: {e.Message}");
|
||||||
|
}
|
||||||
|
catch (EntryPointNotFoundException e)
|
||||||
|
{
|
||||||
|
ShowError($"找不到函数入口: {e.Message}");
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
ShowError($"初始化异常: {e.Message}\n{e.StackTrace}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 显示信息弹窗
|
||||||
|
/// </summary>
|
||||||
|
private void ShowInfo(string message)
|
||||||
|
{
|
||||||
|
Debug.Log($"[EmbeddedAppletSDK] {message}");
|
||||||
|
// MB_OK | MB_ICONINFORMATION = 0x40
|
||||||
|
MessageBox(IntPtr.Zero, message, "EmbeddedAppletSDK Info", 0x40);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 显示错误弹窗
|
||||||
|
/// </summary>
|
||||||
|
private void ShowError(string message)
|
||||||
|
{
|
||||||
|
Debug.LogError($"[EmbeddedAppletSDK] {message}");
|
||||||
|
// MB_OK | MB_ICONERROR = 0x10
|
||||||
|
MessageBox(IntPtr.Zero, message, "EmbeddedAppletSDK Error", 0x10);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 发送异步消息到宿主
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="message">消息内容</param>
|
||||||
|
/// <returns>是否发送成功</returns>
|
||||||
|
public bool SendMessage(string message)
|
||||||
|
{
|
||||||
|
if (!IsInitialized || !IsConnected)
|
||||||
|
{
|
||||||
|
Debug.LogWarning("[EmbeddedAppletSDK] SDK未初始化或未连接");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
byte[] data = System.Text.Encoding.UTF8.GetBytes(message);
|
||||||
|
return SendMessage(data);
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
Debug.LogError($"[EmbeddedAppletSDK] 发送消息异常: {e.Message}");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 发送异步消息到宿主
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="data">消息数据</param>
|
||||||
|
/// <returns>是否发送成功</returns>
|
||||||
|
public bool SendMessage(byte[] data)
|
||||||
|
{
|
||||||
|
if (!IsInitialized || !IsConnected)
|
||||||
|
{
|
||||||
|
Debug.LogWarning("[EmbeddedAppletSDK] SDK未初始化或未连接");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (data == null || data.Length == 0)
|
||||||
|
{
|
||||||
|
Debug.LogWarning("[EmbeddedAppletSDK] 发送的数据为空");
|
||||||
|
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($"[EmbeddedAppletSDK] 发送消息异常: {e.Message}");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Private Methods
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 清理SDK资源
|
||||||
|
/// </summary>
|
||||||
|
private void CleanupSDK()
|
||||||
|
{
|
||||||
|
if (!IsInitialized)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Cleanup();
|
||||||
|
Debug.Log("[EmbeddedAppletSDK] SDK清理完成");
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
Debug.LogError($"[EmbeddedAppletSDK] 清理异常: {e.Message}");
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
IsInitialized = false;
|
||||||
|
IsConnected = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 异步消息处理回调
|
||||||
|
/// </summary>
|
||||||
|
[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)
|
||||||
|
{
|
||||||
|
// 直接调用,如果需要线程安全可以使用Unity的主线程调度
|
||||||
|
instance.OnMessageReceived?.Invoke(buffer);
|
||||||
|
|
||||||
|
// 打印收到的消息(用于调试)
|
||||||
|
string message = System.Text.Encoding.UTF8.GetString(buffer);
|
||||||
|
Debug.Log($"[EmbeddedAppletSDK] 收到消息: {message}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
Debug.LogError($"[EmbeddedAppletSDK] 处理消息异常: {e.Message}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: f4250fca5eb82f5bba38cf7962cf24d8
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@ -2,7 +2,7 @@ namespace WeChatWASM
|
|||||||
{
|
{
|
||||||
public class WXPluginVersion
|
public class WXPluginVersion
|
||||||
{
|
{
|
||||||
public static string pluginVersion = "202603020736"; // 这一行不要改他,导出的时候会自动替换
|
public static string pluginVersion = "202603020746"; // 这一行不要改他,导出的时候会自动替换
|
||||||
}
|
}
|
||||||
|
|
||||||
public class WXPluginConf
|
public class WXPluginConf
|
||||||
|
|||||||
Binary file not shown.
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 02bac7fb9dd1737a77a1cefdfc4719a7
|
guid: 0d0fc614a9122f1bfd17494548985ae7
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: fe5f0b1df5ece6db9e7bcd950e0a378c
|
guid: c3e43a5c48cb98d01cd83e61b163fa20
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
Binary file not shown.
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 0d349b55dbee7bd33a1ced6bb994fece
|
guid: 1998150206c57d7e5e40890658742e69
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 2e4b6e1bc5be5151d50ab921ffa5839d
|
guid: 67ef4326c066d8ce2c78ed0e1d95fb4d
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 2f64456d03d0012c369f5fc9e3125124
|
guid: df9ef99250907ac61bbf4d36e9c5e2ab
|
||||||
folderAsset: yes
|
folderAsset: yes
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 466c37b22fdc3c1129cbb1a55d1b6028
|
guid: 7a56bd573b238afb9438eb9721225f8c
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 24a1aec51f7a18fcae7859dcb402e1ef
|
guid: c57ec23b29daf0b347f5aedd4971b9a1
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 16c9a04f91e93806946206fae2bd4e25
|
guid: 87c21f4acf1bd29c71e0727e0853a7b3
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 387ea2d705e10ad7c6c6c58d5ff1ec2d
|
guid: 3d8b8e4a751e3b72af4f00ae3329636c
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: ae5ea647dd56be9d9147ce0622068f87
|
guid: fab691fb4c037ef7811f549ead96c777
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 7bec551bda276054f1404db3a6532a6d
|
guid: f2405b0288b19ec1f0f477bbb57ca5a2
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: a7a4557bbe95d3ff16f2850d2f8f40a0
|
guid: 0510350b3a801dc0f64179e39b2230a9
|
||||||
folderAsset: yes
|
folderAsset: yes
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 42c3401b0efa590af741531dee6558e8
|
guid: 603a16cf1669dcda3d41c0f72f91a2c5
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: b29c6187b47ca2577250224b4803bfb2
|
guid: 87bbf16cfe1618643f2797da113fd846
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: f6aa20877eae125bc3a8c4ea53c4f76c
|
guid: 409da615007e5f975e02ff375297fa13
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 1ec68641c6f26f5efc7afbf9bb6c15b2
|
guid: c30d5fd73784251b11907446e78ef7b4
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: c82189a87e1961b18374b5432791a068
|
guid: 4924fc8645414561a10089f5d3000b22
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 19c3af5719dc3716617093e37f51db69
|
guid: 4a1efc21f33481808e1769e33427484b
|
||||||
folderAsset: yes
|
folderAsset: yes
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 442f204e05b524b8ae3ce732846050a7
|
guid: 8f6ece9a34c0bd474052e300cfb52d60
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: d42ffb1bbb89a6930d92499f25da37da
|
guid: fd350e46a69b29d14743421fb3f0e197
|
||||||
folderAsset: yes
|
folderAsset: yes
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 7297036e437fba7c2fe297772bc0627e
|
guid: afb3854cc0a5a822f4bb759efd0a7916
|
||||||
folderAsset: yes
|
folderAsset: yes
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 37ba760cdf954f6f47c45031afe70f9c
|
guid: 4f8c9dc73280cd2852a4379a21fff135
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 2ebd9ac90103f3ced8c0139a63cc3504
|
guid: 05cfe1176e2a4b37491f7d475ff33b34
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: dfb4dfe3bcc2bee939eea3c6e08b8bb4
|
guid: ccd9c5ed67194f1ee3d6faf8d6b97e76
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 3e759d2852f0999138f1104930803254
|
guid: 947ef5c9f4eff3bc636aca2025769b7d
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: c8a70f5ead09560fc5dbe8820417b83c
|
guid: b8ce65220c200bd6e965831b6227be62
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: b9a88a64c7136f4cde021e6080e31e87
|
guid: c3f3abf4da046540dbd54fa69ee8be43
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 20e9d49763ba8f2903f66246a89379cd
|
guid: 714453da65812ab7fca233644d1fc30a
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: c51b1a42a2a16bacf67f6149bcbfa28f
|
guid: 25b51202ceee6e32f815f41ac7091a10
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 0b037fb8bb429ce83e23e2b8e03fd47c
|
guid: 8f3fcd895c1c7def2bcaa82db0f24a8c
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 899472a0a5ac45899e8016c6396dc64f
|
guid: a6b12dcac6e36c2460be66892869da8c
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 6b4e55a5cc3edd1615f77a90721e9ee5
|
guid: 4e04335634e3d25c94a9b51212cd2831
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 829adece347ca06c5f3d5c5c852b21ca
|
guid: 186ce39b19fe673aadce195220f241fe
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: f2ede86c1102b3598b5e02e2ba6090ed
|
guid: 43d30bb7b31fef26208f58dfac1f990b
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 381cfc102176c0190cc75a9bc9432b27
|
guid: 1c5640c3939d711fc21480bc0c951394
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 5750061dda0d3f36b2ddb3cbd5d7b386
|
guid: a9c0b933bbcad23e2a0e0208dde99536
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 0b925492b5e9adb80900bfd72048cd74
|
guid: 98bfd6f33e7e371d7b9dd3a7aab577d8
|
||||||
folderAsset: yes
|
folderAsset: yes
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 0a8a5a195593caff59be16cd0770ad32
|
guid: c3e5461e688bdbe3b76e15d84bf22bf3
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: ff9bfe1306070c24562ed5af8ec67b5f
|
guid: 06a0bbc6c71e7e7cfb160b661be58421
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 82fa57229c9ee045c28bd1cf4632179d
|
guid: 7b3f8afbf9121215ef927c47ad4b8924
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: dbd9535f9192a7361ec708cc3920d3da
|
guid: 6492e17e38d2e711ea8a9276cb3fd7b7
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 06c056f773fbe4e518a75d751b47b226
|
guid: d920e9c927c6eac6174bbf3855381307
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 85cea3944f69c7cdff20cef201e73178
|
guid: a6fe73f5243a47742d9a942623589cd6
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: ac551bd0e4d49f8cb3b27251e86167bb
|
guid: 86858cc65ef0ec0c6983b7b9b586159e
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: c33a414c2c035b054a04b4f95acf2cf8
|
guid: 76456ed9d461a44855232867eafc54ab
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 9864142c9f2f75c1a55a4a2dfd35f08c
|
guid: 6fe81d68965111ce8c1a06737cef99da
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 222bbb8f1bf5df91bed71173a5e949b6
|
guid: 9089af0c735cf5f091d03ca035f81e16
|
||||||
folderAsset: yes
|
folderAsset: yes
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: af943114810efb4977ae03d115c029bc
|
guid: 703016d325cbd0e84a3b18d9a3900848
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 57c4a65a18ed7845d060a4b1ea2e5a49
|
guid: 2e82c83cfaae5c02ead2d72f7507aa1c
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: ca477bad1c2146c8c08b066bed35f113
|
guid: a71f51757be1164aa90afe0326d05dca
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: f9da77d52d82eecc886886ed0a0f3d75
|
guid: 3a86bf8c324d5172474844808840e660
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 49b0227fe0f6fc27522edc434345becb
|
guid: f60fd9ec461a1cd2d804a7646a66bf34
|
||||||
folderAsset: yes
|
folderAsset: yes
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 3bd11bb2137ff59cdb7f600b6c596500
|
guid: 4ec7c0c8fc17fa109362d4c4040bf138
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: a63a436a4ba1b9c3db5607d1ffb641f1
|
guid: 9e8d8790a29642a48aae73be3e2fecbe
|
||||||
folderAsset: yes
|
folderAsset: yes
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: da4bad19b8f53194329e40dadb2d280c
|
guid: 4e797f242b62061f7d5e942493879694
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: e71729b7f7e3f41cf839fd99ae298f26
|
guid: c43228c3937578a79ad43ea27ae1cf88
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 06b0ae7d5fb15f8fe28a52e221bd9ee8
|
guid: 49b6508fc8bf06cfc5a72ec59c1268f0
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 88eed435991d2d680e780e81e103cd6d
|
guid: 35803cf65b8abc35d8796ce167c86b25
|
||||||
folderAsset: yes
|
folderAsset: yes
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 6d578ec09dc158d2aa1162bf70a2ca79
|
guid: 5644015d0f75afdb6b10c830ef60d2e3
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 0a953a4567213b05e948dbbcd1d896ec
|
guid: e38a1b2f64cedba5ce9616f537655bb1
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: efe4474c70ea74ef212e103f893a222f
|
guid: ee081ed2bb418754939bdff329631bb9
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 34822456e7d19f2d21c944280e327957
|
guid: 7906ac54a48a284da65a30377d0225bb
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 78458c484d03e15036ae29e5c6590b1f
|
guid: 3ef68a96e17acd13f1cc3239d356b3ef
|
||||||
folderAsset: yes
|
folderAsset: yes
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: d5356f3f7b6fbad617dde78e38947eeb
|
guid: fabd2ea9e527ab9167fd9558fb0a87c9
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 36655532d166633d187e874d6820e74d
|
guid: 4ac071cccb4331b3eb7913d455b84b70
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: d66f0c8d73568372b59d0c35573a25c3
|
guid: b0c420520a18a0aaefd2fd0b5f2e6972
|
||||||
folderAsset: yes
|
folderAsset: yes
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: f5aa29c43dd6c032e4390ab93afbd73b
|
guid: 561d87d3d6f75339413393851a16cca6
|
||||||
folderAsset: yes
|
folderAsset: yes
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: f8848223e2d7f1ef2c13c23a76d6f25d
|
guid: 2511017d093720e8657ec55ab53be0bf
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 7b109999c54342d666701e0f7d05801d
|
guid: 3d7c78f9be7ef92594c1f1984a006f26
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 1e93c9bf43f0172d6fdf3742ed1b071e
|
guid: 27429ca170a12eb731543d22b75752d6
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 04286a0a385ae2e46f9049d6cb1e5689
|
guid: df4104ad904d8a98872ef54cfc99ce31
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 3d34717a4caaed8768e80073cdce31bb
|
guid: a32d1ea289bcfbc28e6414e6bedb2575
|
||||||
folderAsset: yes
|
folderAsset: yes
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 4c37ade458ee907660147465d6cf72d6
|
guid: dd5233485a2de4b36f09e3254e14c762
|
||||||
folderAsset: yes
|
folderAsset: yes
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 53e83562c95813e6c02dfb2432db15c8
|
guid: 141db4b3c6319fdb9df0d1e4e1cf0c1c
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 10c3ee848512230acae81923de4f6c65
|
guid: 3d079a33edf604205bcd76076e1ca41d
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 2942ca35988a52a475fbb2dae2a9fa49
|
guid: 41c65f5c45095d46fe5c95d0c4e895c4
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 4cf9d9392c88e6754414191f5a0ddcef
|
guid: 1478f38b32937a4e2188e80b17db9493
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 6b23277eda06beef0c49c2b960797274
|
guid: 1f86f4f3f31c93c5095862c8c5c49eae
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: f0bff13230b3ffbc5d353d3f10ff3299
|
guid: cd7c12c2cb652f6fec3235eadbd3539f
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 4df2f711da8bf017511cec2f83bf172d
|
guid: 5c1074d27947845750aaeccf95fb07d9
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 6bd694c749f5788d7ca4cde96b012328
|
guid: 99c113bc531f3f982398eee45bd5dc2b
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 685f7cf847990d7f2962b982faa424ef
|
guid: 54ddd1502cdff5a1f26ad9f3e66ad6ef
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: e925d592bc3c0ab6d13f599b62f92b7d
|
guid: 48f8554beb2af3cd20af68974a989550
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: e8f65920058cd8122fa26207cde38405
|
guid: 47eae9e9dcd69623f77778032bc513f7
|
||||||
folderAsset: yes
|
folderAsset: yes
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 15f5000ee10e9fb6e756af19a9d4a4d3
|
guid: 6e7043bfbb90f3861feba3ed26645301
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 4ecb2568083fc4c5d5e328a9a66f3988
|
guid: 4fbd590b0e09fafce9f5e2c5bbf93da5
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 79ec610f49714a93abe6f6786eaec30f
|
guid: 9cac21afdcb0f7c5191a2b8065926f02
|
||||||
folderAsset: yes
|
folderAsset: yes
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 10693f530685d10b7cab129deeb59024
|
guid: f80c4e5b6412ecedf548c6c51142acb9
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 132242cef0c5fd36997210f30c989ac3
|
guid: ea019c5e7bf00ac9105de13bacb2628a
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user