mirror of
https://github.com/wechat-miniprogram/minigame-tuanjie-transform-sdk.git
synced 2026-04-21 17:25:54 +08:00
Auto-publish.
This commit is contained in:
parent
f67e7851c3
commit
3691f52e2f
26
CHANGELOG.md
26
CHANGELOG.md
@ -6,32 +6,6 @@ Removed - 删除功能/接口
|
||||
Fixed - 修复问题
|
||||
Others - 其他
|
||||
-->
|
||||
## 2026-3-15 v0.1.32 【普通更新】
|
||||
### Feature
|
||||
* 普通:更新基础库版本
|
||||
* 普通:擂台赛api新增subScoreKey参数
|
||||
* 普通:支持gameeventreport(试玩)
|
||||
* 普通:添加WX数据保护插件,支持游戏数据加密存储和篡改检测
|
||||
### Fixed
|
||||
* 普通:修复订阅消息报错问题
|
||||
|
||||
## 2026-1-13 v0.1.31 【普通更新】
|
||||
### Fixed
|
||||
* 普通:修复glx模式下 createVideo underGameView为true 黑屏的问题
|
||||
* 普通:修复build profile在团结1.6之后的导出问题
|
||||
|
||||
## 2025-11-6 v0.1.30 【重要更新】
|
||||
### Feature
|
||||
* 重要:EmscriptenGLX支持微信压缩纹理
|
||||
* 普通:EmscriptenGLX支持Android glReadpixels
|
||||
* 普通:EmscriptenGLX优化Android CPU与功耗
|
||||
* 普通:Metal高帧率下功耗优化
|
||||
* 普通:团结引擎buildprofile支持
|
||||
### Fixed
|
||||
* 重要:Metal编码库batch size修复
|
||||
* 普通:PageManager相关问题修复
|
||||
* 普通:iOS18的微信字体修复
|
||||
|
||||
## 2025-9-8 v0.1.29 【重要更新】
|
||||
### Feature
|
||||
* 普通:本地缓存存在时,UnityWebRequest支持同步方式(API:wx.SetSyncReadCacheEnabled)以加快读取速度
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -2,7 +2,7 @@ namespace WeChatWASM
|
||||
{
|
||||
public class WXPluginVersion
|
||||
{
|
||||
public static string pluginVersion = "202603160259"; // 这一行不要改他,导出的时候会自动替换
|
||||
public static string pluginVersion = "202604071136"; // 这一行不要改他,导出的时候会自动替换
|
||||
}
|
||||
|
||||
public class WXPluginConf
|
||||
|
||||
Binary file not shown.
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7330c57dbe403f6a6825fe311f4436ca
|
||||
guid: fa0cf28c42641e1b1908525909a5e545
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
var WXAssetBundleLibrary = {
|
||||
$WXFS: {},
|
||||
|
||||
WXFSInit: function (ttl, capacity) {
|
||||
WXFSInit: function (ttl, capacity, prefetchSize, fdCacheCount) {
|
||||
function _instanceof(left, right) { if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) { return !!right[Symbol.hasInstance](left); } else { return left instanceof right; } }
|
||||
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
||||
function _classCallCheck(instance, Constructor) { if (!_instanceof(instance, Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
||||
@ -104,7 +104,7 @@ var WXAssetBundleLibrary = {
|
||||
this.hash.set(key, temp);
|
||||
return temp.ab;
|
||||
}
|
||||
return -1;
|
||||
return null;
|
||||
}
|
||||
}, {
|
||||
key: "put",
|
||||
@ -122,14 +122,12 @@ var WXAssetBundleLibrary = {
|
||||
this.hash.delete(key);
|
||||
this.hash.set(key, value);
|
||||
} else {
|
||||
if (this.capacity !== undefined && this.size >= this.capacity) {
|
||||
while (this.capacity !== undefined && this.size >= this.capacity) {
|
||||
var idx = this.hash.keys().next().value;
|
||||
this.size -= idx.ab.byteLength;
|
||||
this.size -= this.hash.get(idx).ab.byteLength;
|
||||
this.hash.delete(idx);
|
||||
this.hash.set(key, value);
|
||||
} else {
|
||||
this.hash.set(key, value);
|
||||
}
|
||||
this.hash.set(key, value);
|
||||
}
|
||||
this.size += value.ab.byteLength;
|
||||
this.maxSize = Math.max(this.size, this.maxSize);
|
||||
@ -187,6 +185,39 @@ var WXAssetBundleLibrary = {
|
||||
}();
|
||||
|
||||
WXFS.cache = new WXFileCache(ttl, capacity);
|
||||
WXFS.prefetchSize = prefetchSize || 1024; // iOS prefetch bytes, default 1024
|
||||
// Per-frame perf counters
|
||||
WXFS.perfReadCount = 0; // WXFS.read call count per frame
|
||||
WXFS.perfCacheMissCount = 0; // LoadPartialFromFile / LoadBundleFromFile count per frame
|
||||
WXFS.perfFdCacheMissCount = 0; // fd cache miss (close old + open new) count per frame
|
||||
WXFS.perfOpenSyncCount = 0; // fs.openSync call count per frame
|
||||
WXFS.perfStatSyncCount = 0; // fs.statSync call count per frame
|
||||
WXFS.perfReadSyncCount = 0; // fs.readSync call count per frame
|
||||
// LRU cache for wx file descriptors, max 10, default 1
|
||||
WXFS.fdCacheCount = Math.min(fdCacheCount || 1, 10);
|
||||
WXFS.wxFdCache = new Map(); // path -> wxFd
|
||||
WXFS.getWxFd = function(path) {
|
||||
var wxFd = WXFS.wxFdCache.get(path);
|
||||
if (wxFd !== undefined) {
|
||||
// Move to end (most recently used)
|
||||
WXFS.wxFdCache.delete(path);
|
||||
WXFS.wxFdCache.set(path, wxFd);
|
||||
return wxFd;
|
||||
}
|
||||
// Evict oldest if at capacity
|
||||
if (WXFS.wxFdCache.size >= WXFS.fdCacheCount) {
|
||||
var oldestPath = WXFS.wxFdCache.keys().next().value;
|
||||
var oldestFd = WXFS.wxFdCache.get(oldestPath);
|
||||
WXFS.fs.closeSync({ fd: oldestFd });
|
||||
WXFS.wxFdCache.delete(oldestPath);
|
||||
WXFS.perfFdCacheMissCount++;
|
||||
}
|
||||
// Open new fd and cache
|
||||
wxFd = WXFS.fs.openSync({ filePath: path, flag: 'r' });
|
||||
WXFS.perfOpenSyncCount++;
|
||||
WXFS.wxFdCache.set(path, wxFd);
|
||||
return wxFd;
|
||||
};
|
||||
if(unityNamespace.isIOS && unityNamespace.isH5Renderer) {
|
||||
WXFS.cache.RegularCleaning(1);
|
||||
}
|
||||
@ -195,9 +226,10 @@ var WXAssetBundleLibrary = {
|
||||
try {
|
||||
var fd = WXFS.path2fd.get(path)
|
||||
if (fd !== undefined){
|
||||
var wxStream = WXFS.fd2wxStream.get(fd);
|
||||
var stat = {
|
||||
mode: 33206,
|
||||
size: WXFS.cache.get(fd).byteLength,
|
||||
size: wxStream.node.usedBytes,
|
||||
dev: 1,
|
||||
ino: 1,
|
||||
nlink: 1,
|
||||
@ -213,7 +245,7 @@ var WXAssetBundleLibrary = {
|
||||
return stat;
|
||||
}
|
||||
var stat = WXFS.fs.statSync(path);
|
||||
// something not in wx.FileSystemManager, just fill in 0/1
|
||||
WXFS.perfStatSyncCount++;
|
||||
stat.dev = 1;
|
||||
stat.ino = 1;
|
||||
stat.nlink = 1;
|
||||
@ -278,17 +310,75 @@ var WXAssetBundleLibrary = {
|
||||
}
|
||||
return res;
|
||||
};
|
||||
WXFS.read = function(stream, buffer, offset, length, position){
|
||||
var contents = WXFS.cache.get(stream.fd);
|
||||
if (contents === -1) {
|
||||
var res = WXFS.LoadBundleFromFile(stream.path);
|
||||
WXFS.cache.put(stream.fd, res);
|
||||
contents = res;
|
||||
// iOS: read partial file content on demand
|
||||
WXFS.LoadPartialFromFile = function(path, position, length) {
|
||||
var wxFd = WXFS.getWxFd(path);
|
||||
var ab = new ArrayBuffer(length);
|
||||
var res = WXFS.fs.readSync({ fd: wxFd, arrayBuffer: ab, offset: 0, length: length, position: position });
|
||||
WXFS.perfReadSyncCount++;
|
||||
return { ab: ab, bytesRead: res.bytesRead };
|
||||
};
|
||||
// Open file, construct wxStream and store in related maps
|
||||
WXFS.open = function(pathname) {
|
||||
var numberfd = WXFS.path2fd.get(pathname);
|
||||
if (numberfd !== undefined) {
|
||||
return numberfd;
|
||||
}
|
||||
numberfd = WXFS.newfd();
|
||||
var fileSize;
|
||||
if (unityNamespace.isIOS && WXFS.prefetchSize > 0) {
|
||||
// iOS: only get file size via statSync, do not read file content
|
||||
fileSize = WXFS.fs.statSync(pathname).size;
|
||||
WXFS.perfStatSyncCount++;
|
||||
} else {
|
||||
// Non-iOS: read file and cache
|
||||
var res = WXFS.LoadBundleFromFile(pathname);
|
||||
fileSize = new Uint8Array(res).length;
|
||||
WXFS.cache.put(numberfd, res);
|
||||
}
|
||||
var wxStream = {
|
||||
fd: numberfd,
|
||||
path: pathname,
|
||||
seekable: true,
|
||||
position: 0,
|
||||
stream_ops: MEMFS.stream_ops,
|
||||
ungotten: [],
|
||||
node: { mode: 32768, usedBytes: fileSize },
|
||||
error: false
|
||||
};
|
||||
wxStream.stream_ops.read = WXFS.read;
|
||||
WXFS.path2fd.set(pathname, numberfd);
|
||||
WXFS.fd2wxStream.set(numberfd, wxStream);
|
||||
return numberfd;
|
||||
};
|
||||
WXFS.read = function(stream, buffer, offset, length, position){
|
||||
if (position >= stream.node.usedBytes) return 0;
|
||||
var size = Math.min(stream.node.usedBytes - position, length);
|
||||
assert(size >= 0);
|
||||
buffer.set(new Uint8Array(contents.slice(position, position + size)), offset);
|
||||
WXFS.perfReadCount++;
|
||||
// Check cache first
|
||||
var contents = WXFS.cache.get(stream.fd);
|
||||
if (contents && position + size <= contents.byteLength) {
|
||||
buffer.set(new Uint8Array(contents, position, size), offset);
|
||||
return size;
|
||||
}
|
||||
WXFS.perfCacheMissCount++;
|
||||
// iOS: read on demand
|
||||
if (unityNamespace.isIOS && WXFS.prefetchSize > 0) {
|
||||
var readLen = position === 0 ? Math.max(size, Math.min(WXFS.prefetchSize, stream.node.usedBytes)) : size;
|
||||
var res = WXFS.LoadPartialFromFile(stream.path, position, readLen);
|
||||
if (position === 0) {
|
||||
WXFS.cache.put(stream.fd, res.ab, true);
|
||||
}
|
||||
buffer.set(new Uint8Array(res.ab, 0, size), offset);
|
||||
return size;
|
||||
}
|
||||
// Non-iOS: load full file
|
||||
if (!contents) {
|
||||
contents = WXFS.LoadBundleFromFile(stream.path);
|
||||
WXFS.cache.put(stream.fd, contents);
|
||||
}
|
||||
buffer.set(new Uint8Array(contents, position, size), offset);
|
||||
return size;
|
||||
};
|
||||
},
|
||||
@ -439,6 +529,34 @@ var WXAssetBundleLibrary = {
|
||||
},
|
||||
WXGetBundleSizeOnDisk: function () {
|
||||
return WXFS&&WXFS.disk&&WXFS.disk.size;
|
||||
},
|
||||
WXGetReadCount: function () {
|
||||
return WXFS ? WXFS.perfReadCount : 0;
|
||||
},
|
||||
WXGetCacheMissCount: function () {
|
||||
return WXFS ? WXFS.perfCacheMissCount : 0;
|
||||
},
|
||||
WXGetFdCacheMissCount: function () {
|
||||
return WXFS ? WXFS.perfFdCacheMissCount : 0;
|
||||
},
|
||||
WXGetOpenSyncCount: function () {
|
||||
return WXFS ? WXFS.perfOpenSyncCount : 0;
|
||||
},
|
||||
WXGetStatSyncCount: function () {
|
||||
return WXFS ? WXFS.perfStatSyncCount : 0;
|
||||
},
|
||||
WXGetReadSyncCount: function () {
|
||||
return WXFS ? WXFS.perfReadSyncCount : 0;
|
||||
},
|
||||
WXResetPerfCounters: function () {
|
||||
if (WXFS) {
|
||||
WXFS.perfReadCount = 0;
|
||||
WXFS.perfCacheMissCount = 0;
|
||||
WXFS.perfFdCacheMissCount = 0;
|
||||
WXFS.perfOpenSyncCount = 0;
|
||||
WXFS.perfStatSyncCount = 0;
|
||||
WXFS.perfReadSyncCount = 0;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@ -48,6 +48,12 @@ mergeInto(LibraryManager.library, {
|
||||
numberOnDisk: _WXGetBundleNumberOnDisk(),
|
||||
sizeInMemory: _WXGetBundleSizeInMemory(),
|
||||
sizeOnDisk: _WXGetBundleSizeOnDisk(),
|
||||
readCount: _WXGetReadCount(),
|
||||
cacheMissCount: _WXGetCacheMissCount(),
|
||||
fdCacheMissCount: _WXGetFdCacheMissCount(),
|
||||
openSyncCount: _WXGetOpenSyncCount(),
|
||||
statSyncCount: _WXGetStatSyncCount(),
|
||||
readSyncCount: _WXGetReadSyncCount(),
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@ -3486,11 +3486,6 @@
|
||||
允许微信读写日历的开关
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.AppBaseInfo.PCKernelVersion">
|
||||
<summary>
|
||||
PC 内核版本号,仅在 PC 端存在该值
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.AppBaseInfo.SDKVersion">
|
||||
<summary>
|
||||
客户端基础库版本
|
||||
@ -3754,86 +3749,11 @@
|
||||
宽度,单位:px
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.OfficialComponentsInfo.challengeRewardsComponentInfo">
|
||||
<summary>
|
||||
擂台赛组件领奖信息
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.OfficialComponentsInfo.notificationComponentInfo">
|
||||
<summary>
|
||||
通知组件信息
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.OfficialComponentsInfo.rewardsComponentInfo">
|
||||
<summary>
|
||||
福利组件信息
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.ChallengeRewardsComponentInfo.name">
|
||||
<summary>
|
||||
组件的名称
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.ChallengeRewardsComponentInfo.receiveDetail">
|
||||
<summary>
|
||||
领取事件详情(只在onOfficialComponentsInfoChange回调中返回)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.ChallengeReceiveDetail.awardResult">
|
||||
<summary>
|
||||
奖励领取结果:1-全部成功, 2-部分成功(礼物达到领取上限), 3-领奖失败
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.ChallengeReceiveDetail.receivedRareReward">
|
||||
<summary>
|
||||
是否收到了稀有奖励
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.ChallengeReceiveDetail.userSourceList">
|
||||
<summary>
|
||||
用户领取的奖励列表
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.UserSource.sourceType">
|
||||
<summary>
|
||||
奖励类型:0-道具礼包, 1-微信蓝包, 2-h5商家券, 3-现金红包, 4-小程序券, 5-盲盒
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.UserSource.source">
|
||||
<summary>
|
||||
奖励来源信息
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.UserSource.sourceNum">
|
||||
<summary>
|
||||
获取的奖励数量
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.SourceInfo.propList">
|
||||
<summary>
|
||||
道具列表
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.SourceInfo.type">
|
||||
<summary>
|
||||
奖励类型:1-普通奖励, 2-稀有奖励
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.SourceInfo.sourceName">
|
||||
<summary>
|
||||
礼包名称
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.PropInfo.propName">
|
||||
<summary>
|
||||
道具名称
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.PropInfo.propNum">
|
||||
<summary>
|
||||
道具数量
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.OfficialComponentInfo.boundingClientRect">
|
||||
<summary>
|
||||
组件的布局位置信息
|
||||
@ -3849,46 +3769,6 @@
|
||||
组件的名称
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.RewardsComponentInfo.canReceiveFriendGiftCount">
|
||||
<summary>
|
||||
可领取的好友礼包数量
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.RewardsComponentInfo.canReceiveGiftCount">
|
||||
<summary>
|
||||
可领取的礼包数量
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.RewardsComponentInfo.name">
|
||||
<summary>
|
||||
组件的名称
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.RewardsComponentInfo.receiveDetail">
|
||||
<summary>
|
||||
领取事件详情(只在onOfficialComponentsInfoChange回调中返回)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.ReceiveDetail.desc">
|
||||
<summary>
|
||||
礼包描述,只有 gift 类型才有
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.ReceiveDetail.icon">
|
||||
<summary>
|
||||
礼包图标,只有 gift 类型才有
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.ReceiveDetail.name">
|
||||
<summary>
|
||||
礼包名称,只有 gift 类型才有
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.ReceiveDetail.type">
|
||||
<summary>
|
||||
gift: 礼包, friendGift: 好友礼包
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.GetStorageInfoSyncOption.currentSize">
|
||||
<summary>
|
||||
当前占用的空间大小, 单位 KB
|
||||
@ -4691,36 +4571,6 @@
|
||||
是否被添加至 「我的小程序」
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.CheckIsSupportMidasPaymentFailCallbackErr.errMsg">
|
||||
<summary>
|
||||
错误信息
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.CheckIsSupportMidasPaymentSuccessCallbackResult.data">
|
||||
<summary>
|
||||
支付支持信息对象
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.CheckIsSupportMidasPaymentSuccessCallbackResult.errMsg">
|
||||
<summary>
|
||||
调用结果信息,格式为 "checkIsSupportMidasPayment:ok"
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.CheckIsSupportMidasPaymentSuccessCallbackDataResult.allow_pay">
|
||||
<summary>
|
||||
是否支持支付,true 表示支持,false 表示不支持
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.CheckIsSupportMidasPaymentSuccessCallbackDataResult.err_code">
|
||||
<summary>
|
||||
错误码,0 表示成功
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.CheckIsSupportMidasPaymentSuccessCallbackDataResult.err_msg">
|
||||
<summary>
|
||||
错误信息,"success" 表示成功
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.ChooseImageOption.count">
|
||||
<summary>
|
||||
最多可以选择的图片张数
|
||||
@ -6868,11 +6718,6 @@
|
||||
用短链打开小程序时当前页面携带的查询字符串。小程序中使用时,应在进入页面时调用 `wx.onCopyUrl` 自定义 `query`,退出页面时调用 `wx.offCopyUrl`,防止影响其它页面。
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.OnCopyUrlListenerResult.title">
|
||||
<summary>
|
||||
短链中的自定义标题,显示在小程序名称之后,可以不填
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.OnDeviceMotionChangeListenerResult.alpha">
|
||||
<summary>
|
||||
当 手机坐标 X/Y 和 地球 X/Y 重合时,绕着 Z 轴转动的夹角为 alpha,范围值为 [0, 2*PI)。逆时针转动为正。
|
||||
@ -7635,7 +7480,7 @@
|
||||
| 2002004 | 人脸识别失败 | |
|
||||
| 2002006 | 用户取消/超时/不同意,导致未完成人脸识别 | |
|
||||
| 2002007 | 本用户7天内人脸识别已通过,通过日期为XX | |
|
||||
| 2002008 | 本日已调起过人脸识别或者本月调用次数已达上限 | |
|
||||
| 2002008 | 本日已调起过人脸识别 | or本月调用次数已达上限 |
|
||||
| 2002009 | 无权限发起人脸识别 | |
|
||||
</summary>
|
||||
</member>
|
||||
@ -7648,31 +7493,10 @@
|
||||
| 2002004 | 人脸识别失败 | |
|
||||
| 2002006 | 用户取消/超时/不同意,导致未完成人脸识别 | |
|
||||
| 2002007 | 本用户7天内人脸识别已通过,通过日期为XX | |
|
||||
| 2002008 | 本日已调起过人脸识别或者本月调用次数已达上限 | |
|
||||
| 2002008 | 本日已调起过人脸识别 | or本月调用次数已达上限 |
|
||||
| 2002009 | 无权限发起人脸识别 | |
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.RequestFacialVerifyOption.verifyId">
|
||||
<summary>
|
||||
人脸核身会话唯一标识(小程序后台根据「用户实名信息(姓名+身份证)」调用微信后台[getVerifyId](https://developers.weixin.qq.com/miniprogram/dev/server/API/face/api_getverifyid.html)接口获取)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.RequestFacialVerifyError.errMsg">
|
||||
<summary>
|
||||
错误信息
|
||||
| 错误码 | 错误信息 | 说明 |
|
||||
| - | - | - |
|
||||
| 0 | 人脸识别完成(需要通过[queryVerifyInfo](https://developers.weixin.qq.com/miniprogram/dev/server/API/face/api_queryverifyinfo.html)接口查询人脸核身真实验证结果) | |
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.RequestFacialVerifyError.errCode">
|
||||
<summary>
|
||||
错误码
|
||||
| 错误码 | 错误信息 | 说明 |
|
||||
| - | - | - |
|
||||
| 0 | 人脸识别完成(需要通过[queryVerifyInfo](https://developers.weixin.qq.com/miniprogram/dev/server/API/face/api_queryverifyinfo.html)接口查询人脸核身真实验证结果) | |
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.RequestMidasFriendPaymentOption.buyQuantity">
|
||||
<summary>
|
||||
购买数量。mode=game 时必填。购买数量。详见 [buyQuantity 限制说明](#buyQuantity限制说明)。
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 59f30477a8bb77aeb6d56b69f0799388
|
||||
guid: 278cbcb16b55256aead61177fefb8b90
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
Binary file not shown.
@ -3486,11 +3486,6 @@
|
||||
允许微信读写日历的开关
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.AppBaseInfo.PCKernelVersion">
|
||||
<summary>
|
||||
PC 内核版本号,仅在 PC 端存在该值
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.AppBaseInfo.SDKVersion">
|
||||
<summary>
|
||||
客户端基础库版本
|
||||
@ -3754,86 +3749,11 @@
|
||||
宽度,单位:px
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.OfficialComponentsInfo.challengeRewardsComponentInfo">
|
||||
<summary>
|
||||
擂台赛组件领奖信息
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.OfficialComponentsInfo.notificationComponentInfo">
|
||||
<summary>
|
||||
通知组件信息
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.OfficialComponentsInfo.rewardsComponentInfo">
|
||||
<summary>
|
||||
福利组件信息
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.ChallengeRewardsComponentInfo.name">
|
||||
<summary>
|
||||
组件的名称
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.ChallengeRewardsComponentInfo.receiveDetail">
|
||||
<summary>
|
||||
领取事件详情(只在onOfficialComponentsInfoChange回调中返回)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.ChallengeReceiveDetail.awardResult">
|
||||
<summary>
|
||||
奖励领取结果:1-全部成功, 2-部分成功(礼物达到领取上限), 3-领奖失败
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.ChallengeReceiveDetail.receivedRareReward">
|
||||
<summary>
|
||||
是否收到了稀有奖励
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.ChallengeReceiveDetail.userSourceList">
|
||||
<summary>
|
||||
用户领取的奖励列表
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.UserSource.sourceType">
|
||||
<summary>
|
||||
奖励类型:0-道具礼包, 1-微信蓝包, 2-h5商家券, 3-现金红包, 4-小程序券, 5-盲盒
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.UserSource.source">
|
||||
<summary>
|
||||
奖励来源信息
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.UserSource.sourceNum">
|
||||
<summary>
|
||||
获取的奖励数量
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.SourceInfo.propList">
|
||||
<summary>
|
||||
道具列表
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.SourceInfo.type">
|
||||
<summary>
|
||||
奖励类型:1-普通奖励, 2-稀有奖励
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.SourceInfo.sourceName">
|
||||
<summary>
|
||||
礼包名称
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.PropInfo.propName">
|
||||
<summary>
|
||||
道具名称
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.PropInfo.propNum">
|
||||
<summary>
|
||||
道具数量
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.OfficialComponentInfo.boundingClientRect">
|
||||
<summary>
|
||||
组件的布局位置信息
|
||||
@ -3849,46 +3769,6 @@
|
||||
组件的名称
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.RewardsComponentInfo.canReceiveFriendGiftCount">
|
||||
<summary>
|
||||
可领取的好友礼包数量
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.RewardsComponentInfo.canReceiveGiftCount">
|
||||
<summary>
|
||||
可领取的礼包数量
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.RewardsComponentInfo.name">
|
||||
<summary>
|
||||
组件的名称
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.RewardsComponentInfo.receiveDetail">
|
||||
<summary>
|
||||
领取事件详情(只在onOfficialComponentsInfoChange回调中返回)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.ReceiveDetail.desc">
|
||||
<summary>
|
||||
礼包描述,只有 gift 类型才有
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.ReceiveDetail.icon">
|
||||
<summary>
|
||||
礼包图标,只有 gift 类型才有
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.ReceiveDetail.name">
|
||||
<summary>
|
||||
礼包名称,只有 gift 类型才有
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.ReceiveDetail.type">
|
||||
<summary>
|
||||
gift: 礼包, friendGift: 好友礼包
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.GetStorageInfoSyncOption.currentSize">
|
||||
<summary>
|
||||
当前占用的空间大小, 单位 KB
|
||||
@ -4691,36 +4571,6 @@
|
||||
是否被添加至 「我的小程序」
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.CheckIsSupportMidasPaymentFailCallbackErr.errMsg">
|
||||
<summary>
|
||||
错误信息
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.CheckIsSupportMidasPaymentSuccessCallbackResult.data">
|
||||
<summary>
|
||||
支付支持信息对象
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.CheckIsSupportMidasPaymentSuccessCallbackResult.errMsg">
|
||||
<summary>
|
||||
调用结果信息,格式为 "checkIsSupportMidasPayment:ok"
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.CheckIsSupportMidasPaymentSuccessCallbackDataResult.allow_pay">
|
||||
<summary>
|
||||
是否支持支付,true 表示支持,false 表示不支持
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.CheckIsSupportMidasPaymentSuccessCallbackDataResult.err_code">
|
||||
<summary>
|
||||
错误码,0 表示成功
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.CheckIsSupportMidasPaymentSuccessCallbackDataResult.err_msg">
|
||||
<summary>
|
||||
错误信息,"success" 表示成功
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.ChooseImageOption.count">
|
||||
<summary>
|
||||
最多可以选择的图片张数
|
||||
@ -6868,11 +6718,6 @@
|
||||
用短链打开小程序时当前页面携带的查询字符串。小程序中使用时,应在进入页面时调用 `wx.onCopyUrl` 自定义 `query`,退出页面时调用 `wx.offCopyUrl`,防止影响其它页面。
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.OnCopyUrlListenerResult.title">
|
||||
<summary>
|
||||
短链中的自定义标题,显示在小程序名称之后,可以不填
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.OnDeviceMotionChangeListenerResult.alpha">
|
||||
<summary>
|
||||
当 手机坐标 X/Y 和 地球 X/Y 重合时,绕着 Z 轴转动的夹角为 alpha,范围值为 [0, 2*PI)。逆时针转动为正。
|
||||
@ -7635,7 +7480,7 @@
|
||||
| 2002004 | 人脸识别失败 | |
|
||||
| 2002006 | 用户取消/超时/不同意,导致未完成人脸识别 | |
|
||||
| 2002007 | 本用户7天内人脸识别已通过,通过日期为XX | |
|
||||
| 2002008 | 本日已调起过人脸识别或者本月调用次数已达上限 | |
|
||||
| 2002008 | 本日已调起过人脸识别 | or本月调用次数已达上限 |
|
||||
| 2002009 | 无权限发起人脸识别 | |
|
||||
</summary>
|
||||
</member>
|
||||
@ -7648,31 +7493,10 @@
|
||||
| 2002004 | 人脸识别失败 | |
|
||||
| 2002006 | 用户取消/超时/不同意,导致未完成人脸识别 | |
|
||||
| 2002007 | 本用户7天内人脸识别已通过,通过日期为XX | |
|
||||
| 2002008 | 本日已调起过人脸识别或者本月调用次数已达上限 | |
|
||||
| 2002008 | 本日已调起过人脸识别 | or本月调用次数已达上限 |
|
||||
| 2002009 | 无权限发起人脸识别 | |
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.RequestFacialVerifyOption.verifyId">
|
||||
<summary>
|
||||
人脸核身会话唯一标识(小程序后台根据「用户实名信息(姓名+身份证)」调用微信后台[getVerifyId](https://developers.weixin.qq.com/miniprogram/dev/server/API/face/api_getverifyid.html)接口获取)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.RequestFacialVerifyError.errMsg">
|
||||
<summary>
|
||||
错误信息
|
||||
| 错误码 | 错误信息 | 说明 |
|
||||
| - | - | - |
|
||||
| 0 | 人脸识别完成(需要通过[queryVerifyInfo](https://developers.weixin.qq.com/miniprogram/dev/server/API/face/api_queryverifyinfo.html)接口查询人脸核身真实验证结果) | |
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.RequestFacialVerifyError.errCode">
|
||||
<summary>
|
||||
错误码
|
||||
| 错误码 | 错误信息 | 说明 |
|
||||
| - | - | - |
|
||||
| 0 | 人脸识别完成(需要通过[queryVerifyInfo](https://developers.weixin.qq.com/miniprogram/dev/server/API/face/api_queryverifyinfo.html)接口查询人脸核身真实验证结果) | |
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.RequestMidasFriendPaymentOption.buyQuantity">
|
||||
<summary>
|
||||
购买数量。mode=game 时必填。购买数量。详见 [buyQuantity 限制说明](#buyQuantity限制说明)。
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 33778f932d74b9c0309d7573c86c9e5b
|
||||
guid: 03b7951cb7213f781bd9a1a9f9574629
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
178
Runtime/WX.cs
178
Runtime/WX.cs
@ -107,69 +107,6 @@ namespace WeChatWASM
|
||||
WXSDKManagerHandler.Instance.CheckIsAddedToMyMiniProgram(callback);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [wx.checkIsSupportFacialRecognition(Object object)](https://developers.weixin.qq.com/minigame/dev/api/open-api/face/wx.checkIsSupportFacialRecognition.html)
|
||||
/// 需要基础库: `3.8.12`
|
||||
/// 检查当前设备是否支持人脸识别能力
|
||||
/// **示例代码**
|
||||
/// ```js
|
||||
/// wx.checkIsSupportFacialRecognition({
|
||||
/// success() {
|
||||
/// // 支持人脸识别
|
||||
/// },
|
||||
/// fail() {
|
||||
/// // 不支持人脸识别
|
||||
/// },
|
||||
/// })
|
||||
/// ```
|
||||
/// </summary>
|
||||
public static void CheckIsSupportFacialRecognition(CheckIsSupportFacialRecognitionOption callback)
|
||||
{
|
||||
WXSDKManagerHandler.Instance.CheckIsSupportFacialRecognition(callback);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [wx.checkIsSupportMidasPayment(Object object)](https://developers.weixin.qq.com/minigame/dev/api/midas-payment/wx.checkIsSupportMidasPayment.html)
|
||||
/// 需要基础库: `3.10.3`
|
||||
/// 检查当前环境是否支持虚拟支付。使用前请注意阅读[相关说明](https://developers.weixin.qq.com/minigame/dev/guide/open-ability/virtual-payment/virtual-payment2.html)。
|
||||
/// **平台支持说明**
|
||||
/// - Android、Windows、OHOS 平台:默认支持虚拟支付,接口直接返回支持
|
||||
/// - iOS 平台:需满足以下环境要求才可能支持虚拟支付
|
||||
/// - 操作系统要求:使用 iPhone 或者 iPad,iOS 15 及以上版本
|
||||
/// - 基础库版本要求:3.10.3 及以上
|
||||
/// - 客户端版本要求:8.0.68 及以上
|
||||
/// - 苹果支付不支持使用沙箱环境,仅支持使用现网环境
|
||||
/// **注意事项**
|
||||
/// 若该 API 都不存在,则 iOS 一定不支持虚拟支付,请保持旧版本逻辑。
|
||||
/// **示例代码**
|
||||
/// ```js
|
||||
/// if (wx.checkIsSupportMidasPayment) {
|
||||
/// wx.checkIsSupportMidasPayment({
|
||||
/// success(res) {
|
||||
/// console.log('支持检查结果:', res)
|
||||
/// if (res.data.allow_pay) {
|
||||
/// console.log('当前环境支持支付')
|
||||
/// // 可以继续调用支付相关接口
|
||||
/// } else {
|
||||
/// console.log('当前环境不支持支付')
|
||||
/// // 请自行适配用户提示文案
|
||||
/// }
|
||||
/// },
|
||||
/// fail(err) {
|
||||
/// console.error('检查支持情况失败:', err)
|
||||
/// },
|
||||
/// complete() {
|
||||
/// console.log('检查完成')
|
||||
/// }
|
||||
/// })
|
||||
/// }
|
||||
/// ```
|
||||
/// </summary>
|
||||
public static void CheckIsSupportMidasPayment(CheckIsSupportMidasPaymentOption callback)
|
||||
{
|
||||
WXSDKManagerHandler.Instance.CheckIsSupportMidasPayment(callback);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [wx.checkSession(Object object)](https://developers.weixin.qq.com/minigame/dev/api/open-api/login/wx.checkSession.html)
|
||||
/// 检查登录态 session_key 是否过期。
|
||||
@ -1794,92 +1731,35 @@ namespace WeChatWASM
|
||||
/// <summary>
|
||||
/// [wx.requestFacialRecognition(Object object)](https://developers.weixin.qq.com/minigame/dev/api/open-api/account-info/wx.requestFacialRecognition.html)
|
||||
/// 需要基础库: `3.11.2`
|
||||
/// 腾讯游戏人脸识别验证功能是基于健康系统防沉迷体系,用于识别疑似未成年人冒用成年人账号游玩游戏的行为,是防止未成年人沉迷网络游戏的一项重要措施。本接口是为开通虚拟支付功能的小游戏开发者提供的,此接口是基于人脸识别的未成年人身份核验接口。本次识别是根据用户在腾讯健康系统中留存的实名信息进行验证,结果将直接返回至开发者。
|
||||
/// **接口限额**
|
||||
/// - 超出限额后将返回错误码 2002008(频率控制)
|
||||
/// - 1天内全部游戏对一个用户只能调起1次人脸识别
|
||||
/// - 若用户人脸识别通过:7天内不能再被弹出人脸识别
|
||||
/// - 根据小游戏评级每个月限制使用次数,一旦发现恶意滥用接口,会取消使用资格。具体使用次数如下:
|
||||
/// - S级:300次/月
|
||||
/// - A级:100次/月
|
||||
/// - B级:30次/月
|
||||
/// 发起人脸识别验证,用于对可疑用户进行身份验证和防沉迷检查。该接口会调起微信的人脸识别系统,验证用户身份以确保游戏安全和合规性。
|
||||
/// **处理流程**
|
||||
/// <img src="https://mmgame.qpic.cn/image/2034b86e1e8f3541629d4b4d16cf41ff84fd99efe25f4fac181603edd8a29e14/0" width="600" alt="人脸识别流程图" />
|
||||
/// 1. 开发者调用 `wx.requestFacialRecognition` 发起人脸识别。
|
||||
/// 2. 系统根据策略判定是否需要展示授权弹窗。
|
||||
/// - 若判定为"不展示弹窗":立即回调结果,示例:`{ errCode: 0, errMsg: '本用户7天内人脸识别已通过' }`
|
||||
/// - 若判定为"需展示弹窗":进入步骤 3。
|
||||
/// 3. 系统展示授权弹窗。
|
||||
/// - 玩家拒绝:立即回调 `fail`,`errCode = 2002006`
|
||||
/// - 玩家同意:进入步骤 4。
|
||||
/// 4. 系统开始进行人脸识别验证
|
||||
/// - 玩家在跳转页面中完成活体/人脸识别;关闭页面返回游戏。
|
||||
/// 5. 系统回调最终识别结果返回
|
||||
/// **示例代码**
|
||||
/// ```js
|
||||
/// // 实际业务场景:防沉迷身份验证
|
||||
/// function checkUserIdentity() {
|
||||
/// wx.requestFacialRecognition({
|
||||
/// success(res) {
|
||||
/// // 场景 1:本次人脸识别通过
|
||||
/// // res = { errCode: 0, errMsg: 'ok' }
|
||||
/// console.log('人脸识别成功:', res)
|
||||
/// // 允许继续游戏
|
||||
/// startGame()
|
||||
/// // 人脸识别通过或 7 天内已通过
|
||||
/// // 形如:{ errCode: 0, errMsg: 'ok' }
|
||||
/// console.log('requestFacialRecognition success:', res)
|
||||
/// },
|
||||
/// fail(err) {
|
||||
/// console.error('人脸识别失败:', err)
|
||||
/// let tipMessage = ''
|
||||
/// let shouldBlock = false // 是否需要阻断游戏
|
||||
/// // 根据错误码进行不同处理
|
||||
/// switch (err.errCode) {
|
||||
/// case 2002004:
|
||||
/// // 人脸识别失败(需要阻断)
|
||||
/// // err = { errCode: 2002004, errMsg: '人脸识别失败' }
|
||||
/// tipMessage = '识别失败,请稍后重试'
|
||||
/// shouldBlock = true
|
||||
/// break
|
||||
/// case 2002006:
|
||||
/// // 用户取消/超时/不同意,导致未完成人脸识别(需要阻断)
|
||||
/// // err = { errCode: 2002006, errMsg: '用户取消' }
|
||||
/// tipMessage = '您已取消验证,无法继续游戏'
|
||||
/// shouldBlock = true
|
||||
/// break
|
||||
/// case 2002007:
|
||||
/// // 本用户7天内人脸识别已通过(可以继续游戏)
|
||||
/// // err = { errCode: 2002007, errMsg: '本用户7天内人脸识别已通过,通过日期为2024-01-15' }
|
||||
/// tipMessage = '您已完成验证'
|
||||
/// shouldBlock = false
|
||||
/// break
|
||||
/// case 2002008:
|
||||
/// // 频率控制:本日已调起过人脸识别 or 本月调用次数已达上限(可以继续游戏)
|
||||
/// // err = { errCode: 2002008, errMsg: '本日已调起过人脸识别' }
|
||||
/// // 或 err = { errCode: 2002008, errMsg: '本月调用次数已达上限' }
|
||||
/// tipMessage = '今日验证次数已达上限'
|
||||
/// shouldBlock = false
|
||||
/// break
|
||||
/// case 2002009:
|
||||
/// // 无权限发起人脸识别(可以继续游戏)
|
||||
/// // err = { errCode: 2002009, errMsg: '无权限发起人脸识别' }
|
||||
/// tipMessage = '暂无权限使用此功能'
|
||||
/// shouldBlock = false
|
||||
/// break
|
||||
/// default:
|
||||
/// // 系统异常等其他错误(可以继续游戏,避免影响正常用户)
|
||||
/// tipMessage = '系统异常,请稍后重试'
|
||||
/// shouldBlock = false
|
||||
/// }
|
||||
/// if (tipMessage) {
|
||||
/// wx.showModal({
|
||||
/// title: '提示',
|
||||
/// content: tipMessage,
|
||||
/// showCancel: false
|
||||
/// })
|
||||
/// }
|
||||
/// if (shouldBlock) {
|
||||
/// // 仅对识别失败(2002004)和用户取消(2002006)阻断游戏
|
||||
/// restrictGameFeatures()
|
||||
/// } else {
|
||||
/// // 其他情况允许继续游戏
|
||||
/// startGame()
|
||||
/// }
|
||||
/// // 失败或受限等场景
|
||||
/// console.log('requestFacialRecognition fail:', err)
|
||||
/// },
|
||||
/// complete(res) {
|
||||
/// // 无论成功失败均会触发
|
||||
/// console.log('人脸识别流程结束:', res)
|
||||
/// console.log('requestFacialRecognition complete:', res)
|
||||
/// }
|
||||
/// })
|
||||
/// }
|
||||
/// ```
|
||||
/// </summary>
|
||||
public static void RequestFacialRecognition(RequestFacialRecognitionOption callback)
|
||||
@ -1887,29 +1767,6 @@ namespace WeChatWASM
|
||||
WXSDKManagerHandler.Instance.RequestFacialRecognition(callback);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [wx.requestFacialVerify(Object object)](https://developers.weixin.qq.com/minigame/dev/api/open-api/face/wx.requestFacialVerify.html)
|
||||
/// 需要基础库: `3.8.12`
|
||||
/// 对用户实名信息进行基于生物识别的人脸核身验证
|
||||
/// **示例代码**
|
||||
/// ```js
|
||||
/// wx.requestFacialVerify({
|
||||
/// // 人脸核身会话唯一标识
|
||||
/// verifyId: 'xxx',
|
||||
/// success() {
|
||||
/// // 人脸核身验证成功,需要通知小程序后台根据本次人脸核身会话唯一标识 verifyId 字段调用微信后台 queryVerifyInfo 接口查询人脸核身真实验证结果。
|
||||
/// },
|
||||
/// fail() {
|
||||
/// // 人脸核身验证失败
|
||||
/// },
|
||||
/// })
|
||||
/// ```
|
||||
/// </summary>
|
||||
public static void RequestFacialVerify(RequestFacialVerifyOption callback)
|
||||
{
|
||||
WXSDKManagerHandler.Instance.RequestFacialVerify(callback);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [wx.requestMidasFriendPayment(Object object)](https://developers.weixin.qq.com/minigame/dev/api/midas-payment/wx.requestMidasFriendPayment.html)
|
||||
/// 需要基础库: `2.11.0`
|
||||
@ -3248,7 +3105,6 @@ namespace WeChatWASM
|
||||
/// 监听搜索到新设备的事件
|
||||
/// **注意**
|
||||
/// - 若在 [wx.onBluetoothDeviceFound](https://developers.weixin.qq.com/minigame/dev/api/device/bluetooth/wx.onBluetoothDeviceFound.html) 回调了某个设备,则此设备会添加到 [wx.getBluetoothDevices](https://developers.weixin.qq.com/minigame/dev/api/device/bluetooth/wx.getBluetoothDevices.html) 接口获取到的数组中。
|
||||
/// - 地址变化这个是鸿蒙系统特性,小程序可以不缓存地址,重新搜索连接。
|
||||
/// **示例代码**
|
||||
/// [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K)
|
||||
/// ```js
|
||||
|
||||
@ -643,6 +643,62 @@ namespace WeChatWASM
|
||||
{
|
||||
return WXSDKManagerHandler.Instance.GetBundleSizeOnDisk();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取当前帧WXFS.read的执行次数
|
||||
/// </summary>
|
||||
public static uint GetReadCount()
|
||||
{
|
||||
return WXSDKManagerHandler.Instance.GetReadCount();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取当前帧WXFS.read的Cache Miss次数
|
||||
/// </summary>
|
||||
public static uint GetCacheMissCount()
|
||||
{
|
||||
return WXSDKManagerHandler.Instance.GetCacheMissCount();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取当前帧fd缓存的Cache Miss次数
|
||||
/// </summary>
|
||||
public static uint GetFdCacheMissCount()
|
||||
{
|
||||
return WXSDKManagerHandler.Instance.GetFdCacheMissCount();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取当前帧openSync的调用次数
|
||||
/// </summary>
|
||||
public static uint GetOpenSyncCount()
|
||||
{
|
||||
return WXSDKManagerHandler.Instance.GetOpenSyncCount();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取当前帧statSync的调用次数
|
||||
/// </summary>
|
||||
public static uint GetStatSyncCount()
|
||||
{
|
||||
return WXSDKManagerHandler.Instance.GetStatSyncCount();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取当前帧readSync的调用次数
|
||||
/// </summary>
|
||||
public static uint GetReadSyncCount()
|
||||
{
|
||||
return WXSDKManagerHandler.Instance.GetReadSyncCount();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 重置WXFS性能计数器
|
||||
/// </summary>
|
||||
public static void ResetPerfCounters()
|
||||
{
|
||||
WXSDKManagerHandler.Instance.ResetPerfCounters();
|
||||
}
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
|
||||
@ -231,6 +231,13 @@ public class WXProfileStatsScript : MonoBehaviour, WeChatWASM.WXSDKManagerHandle
|
||||
UpdateValue("NumberOnDisk", WeChatWASM.WXSDKManagerHandler.Instance.GetBundleNumberOnDisk(), sb);
|
||||
UpdateValue("SizeInMemory", WeChatWASM.WXSDKManagerHandler.Instance.GetBundleSizeInMemory() / toMB, sb);
|
||||
UpdateValue("SizeOnDisk", WeChatWASM.WXSDKManagerHandler.Instance.GetBundleSizeOnDisk() / toMB, sb);
|
||||
UpdateValue("ReadCount", WeChatWASM.WXSDKManagerHandler.Instance.GetReadCount(), sb);
|
||||
UpdateValue("CacheMissCount", WeChatWASM.WXSDKManagerHandler.Instance.GetCacheMissCount(), sb);
|
||||
UpdateValue("FdCacheMissCount", WeChatWASM.WXSDKManagerHandler.Instance.GetFdCacheMissCount(), sb);
|
||||
UpdateValue("OpenSyncCount", WeChatWASM.WXSDKManagerHandler.Instance.GetOpenSyncCount(), sb);
|
||||
UpdateValue("StatSyncCount", WeChatWASM.WXSDKManagerHandler.Instance.GetStatSyncCount(), sb);
|
||||
UpdateValue("ReadSyncCount", WeChatWASM.WXSDKManagerHandler.Instance.GetReadSyncCount(), sb);
|
||||
WeChatWASM.WXSDKManagerHandler.Instance.ResetPerfCounters();
|
||||
|
||||
#if UNITY_2021_2_OR_NEWER
|
||||
// sb.AppendLine("-------------MemoryRecorder-----");
|
||||
@ -278,29 +285,37 @@ public class WXProfileStatsScript : MonoBehaviour, WeChatWASM.WXSDKManagerHandle
|
||||
if(!WeChatWASM.WXSDKManagerHandler.Instance.IsCloudTest()) {
|
||||
GUI.backgroundColor = new Color(0, 0, 0, 0.5f);
|
||||
#if UNITY_EDITOR
|
||||
GUI.skin.button.fontSize = 10;
|
||||
GUI.skin.label.fontSize = 10;
|
||||
int fontSize = 10;
|
||||
int btnWidth = 150;
|
||||
int btnHeight = 20;
|
||||
int padding = 5;
|
||||
#else
|
||||
GUI.skin.button.fontSize = 30;
|
||||
GUI.skin.label.fontSize = 30;
|
||||
int fontSize = 30;
|
||||
int btnWidth = 400;
|
||||
int btnHeight = 50;
|
||||
int padding = 10;
|
||||
#endif
|
||||
if (GUILayout.Button("Performance Stats", GUILayout.ExpandWidth(false)))
|
||||
GUI.skin.button.fontSize = fontSize;
|
||||
GUI.skin.label.fontSize = fontSize;
|
||||
|
||||
float curY = padding;
|
||||
if (GUI.Button(new Rect(padding, curY, btnWidth, btnHeight), "Performance Stats"))
|
||||
{
|
||||
m_isShow = !m_isShow;
|
||||
}
|
||||
curY += btnHeight + padding;
|
||||
|
||||
if (GUILayout.Button("ProfilingMemory Dump", GUILayout.ExpandWidth(false)))
|
||||
if (GUI.Button(new Rect(padding, curY, btnWidth, btnHeight), "ProfilingMemory Dump"))
|
||||
{
|
||||
WeChatWASM.WXSDKManagerHandler.Instance.ProfilingMemoryDump();
|
||||
}
|
||||
curY += btnHeight + padding;
|
||||
|
||||
GUILayout.BeginVertical(m_bgStyle);
|
||||
if (m_isShow)
|
||||
{
|
||||
GUILayout.Label(statsText);
|
||||
GUI.Box(new Rect(padding, curY, Screen.width - padding * 2, Screen.height - curY - padding), "", m_bgStyle);
|
||||
GUI.Label(new Rect(padding * 2, curY + padding, Screen.width - padding * 4, Screen.height - curY - padding * 2), statsText);
|
||||
}
|
||||
|
||||
GUILayout.EndVertical();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
186
Runtime/WXTouchInputModule.cs
Normal file
186
Runtime/WXTouchInputModule.cs
Normal file
@ -0,0 +1,186 @@
|
||||
#if UNITY_WEBGL || WEIXINMINIGAME || UNITY_EDITOR
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Events;
|
||||
using UnityEngine.EventSystems;
|
||||
using UnityEngine.UI;
|
||||
|
||||
/**
|
||||
* WxTouch输入模块,结合 WXTouchInputOverride 使用
|
||||
* 用于拦截所有Button事件调用,确保事件只被触发一次,避免重复触发问题
|
||||
* 除会拦截带 Button 组件的 ExecuteEvents.pointerClickHandler 事件外,逻辑与 StandaloneInputModule 均一致
|
||||
* 需要在场景中添加 WXTouchInputOverride 组件使用,且保证不要有其他的 StandaloneInputModule
|
||||
*/
|
||||
public class WXTouchInputModule : StandaloneInputModule
|
||||
{
|
||||
private const float doubleClickTime = 0.3f;
|
||||
|
||||
public override void Process()
|
||||
{
|
||||
if (!eventSystem.isFocused && ShouldIgnoreEventsOnNoFocus())
|
||||
return;
|
||||
bool usedEvent = SendUpdateEventToSelectedObject();
|
||||
if (!ProcessTouchEvents() && input.mousePresent)
|
||||
ProcessMouseEvent();
|
||||
if (eventSystem.sendNavigationEvents)
|
||||
{
|
||||
if (!usedEvent)
|
||||
usedEvent |= SendMoveEventToSelectedObject();
|
||||
|
||||
if (!usedEvent)
|
||||
SendSubmitEventToSelectedObject();
|
||||
}
|
||||
}
|
||||
|
||||
private bool ShouldIgnoreEventsOnNoFocus()
|
||||
{
|
||||
#if UNITY_EDITOR
|
||||
return !UnityEditor.EditorApplication.isRemoteConnected;
|
||||
#else
|
||||
return true;
|
||||
#endif
|
||||
}
|
||||
|
||||
private bool ProcessTouchEvents()
|
||||
{
|
||||
for (int i = 0; i < input.touchCount; ++i)
|
||||
{
|
||||
Touch touch = input.GetTouch(i);
|
||||
if (touch.type == TouchType.Indirect)
|
||||
continue;
|
||||
|
||||
bool released;
|
||||
bool pressed;
|
||||
var pointer = GetTouchPointerEventData(touch, out pressed, out released);
|
||||
|
||||
ProcessTouchPress(pointer, pressed, released);
|
||||
|
||||
if (!released)
|
||||
{
|
||||
ProcessMove(pointer);
|
||||
ProcessDrag(pointer);
|
||||
}
|
||||
else
|
||||
RemovePointerData(pointer);
|
||||
}
|
||||
return input.touchCount > 0;
|
||||
}
|
||||
|
||||
// released 后会拦截 Button 的 ExecuteEvents.pointerClickHandler ,其余逻辑与 StandaloneInputModule 保持一致
|
||||
protected new void ProcessTouchPress(PointerEventData pointerEvent, bool pressed, bool released)
|
||||
{
|
||||
var currentOverGo = pointerEvent.pointerCurrentRaycast.gameObject;
|
||||
|
||||
// PointerDown notification
|
||||
if (pressed)
|
||||
{
|
||||
pointerEvent.eligibleForClick = true;
|
||||
pointerEvent.delta = Vector2.zero;
|
||||
pointerEvent.dragging = false;
|
||||
pointerEvent.useDragThreshold = true;
|
||||
pointerEvent.pressPosition = pointerEvent.position;
|
||||
pointerEvent.pointerPressRaycast = pointerEvent.pointerCurrentRaycast;
|
||||
|
||||
DeselectIfSelectionChanged(currentOverGo, pointerEvent);
|
||||
|
||||
if (pointerEvent.pointerEnter != currentOverGo)
|
||||
{
|
||||
// send a pointer enter to the touched element if it isn't the one to select...
|
||||
HandlePointerExitAndEnter(pointerEvent, currentOverGo);
|
||||
pointerEvent.pointerEnter = currentOverGo;
|
||||
}
|
||||
|
||||
var resetDiffTime = Time.unscaledTime - pointerEvent.clickTime;
|
||||
if (resetDiffTime >= doubleClickTime)
|
||||
{
|
||||
pointerEvent.clickCount = 0;
|
||||
}
|
||||
|
||||
// search for the control that will receive the press
|
||||
// if we can't find a press handler set the press
|
||||
// handler to be what would receive a click.
|
||||
var newPressed = ExecuteEvents.ExecuteHierarchy(currentOverGo, pointerEvent, ExecuteEvents.pointerDownHandler);
|
||||
|
||||
var newClick = ExecuteEvents.GetEventHandler<IPointerClickHandler>(currentOverGo);
|
||||
|
||||
// didnt find a press handler... search for a click handler
|
||||
if (newPressed == null)
|
||||
newPressed = newClick;
|
||||
|
||||
// Debug.Log("Pressed: " + newPressed);
|
||||
|
||||
float time = Time.unscaledTime;
|
||||
|
||||
if (newPressed == pointerEvent.lastPress)
|
||||
{
|
||||
var diffTime = time - pointerEvent.clickTime;
|
||||
if (diffTime < doubleClickTime)
|
||||
++pointerEvent.clickCount;
|
||||
else
|
||||
pointerEvent.clickCount = 1;
|
||||
|
||||
pointerEvent.clickTime = time;
|
||||
}
|
||||
else
|
||||
{
|
||||
pointerEvent.clickCount = 1;
|
||||
}
|
||||
|
||||
pointerEvent.pointerPress = newPressed;
|
||||
pointerEvent.rawPointerPress = currentOverGo;
|
||||
pointerEvent.pointerClick = newClick;
|
||||
|
||||
pointerEvent.clickTime = time;
|
||||
|
||||
// Save the drag handler as well
|
||||
pointerEvent.pointerDrag = ExecuteEvents.GetEventHandler<IDragHandler>(currentOverGo);
|
||||
|
||||
if (pointerEvent.pointerDrag != null)
|
||||
ExecuteEvents.Execute(pointerEvent.pointerDrag, pointerEvent, ExecuteEvents.initializePotentialDrag);
|
||||
}
|
||||
|
||||
// PointerUp notification
|
||||
if (released)
|
||||
{
|
||||
// Debug.Log("Executing pressup on: " + pointer.pointerPress);
|
||||
ExecuteEvents.Execute(pointerEvent.pointerPress, pointerEvent, ExecuteEvents.pointerUpHandler);
|
||||
// Debug.Log("KeyCode: " + pointer.eventData.keyCode);
|
||||
|
||||
// see if we mouse up on the same element that we clicked on...
|
||||
var pointerClickHandler = ExecuteEvents.GetEventHandler<IPointerClickHandler>(currentOverGo);
|
||||
|
||||
// PointerClick and Drop events
|
||||
if (pointerEvent.pointerClick == pointerClickHandler && pointerEvent.eligibleForClick)
|
||||
{
|
||||
bool shouldHandleInWx = currentOverGo != null && currentOverGo.GetComponentInParent<UnityEngine.UI.Button>() != null;
|
||||
if (!shouldHandleInWx)
|
||||
{
|
||||
ExecuteEvents.Execute(pointerEvent.pointerClick, pointerEvent, ExecuteEvents.pointerClickHandler);
|
||||
}
|
||||
}
|
||||
|
||||
if (pointerEvent.pointerDrag != null && pointerEvent.dragging)
|
||||
{
|
||||
ExecuteEvents.ExecuteHierarchy(currentOverGo, pointerEvent, ExecuteEvents.dropHandler);
|
||||
}
|
||||
|
||||
pointerEvent.eligibleForClick = false;
|
||||
pointerEvent.pointerPress = null;
|
||||
pointerEvent.rawPointerPress = null;
|
||||
pointerEvent.pointerClick = null;
|
||||
|
||||
if (pointerEvent.pointerDrag != null && pointerEvent.dragging)
|
||||
ExecuteEvents.Execute(pointerEvent.pointerDrag, pointerEvent, ExecuteEvents.endDragHandler);
|
||||
|
||||
pointerEvent.dragging = false;
|
||||
pointerEvent.pointerDrag = null;
|
||||
|
||||
// send exit events as we need to simulate this on touch up on touch device
|
||||
ExecuteEvents.ExecuteHierarchy(pointerEvent.pointerEnter, pointerEvent, ExecuteEvents.pointerExitHandler);
|
||||
pointerEvent.pointerEnter = null;
|
||||
}
|
||||
|
||||
//m_InputPointerEvent = pointerEvent;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
11
Runtime/WXTouchInputModule.cs.meta
Normal file
11
Runtime/WXTouchInputModule.cs.meta
Normal file
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6226ce8c6cf3dd24d95cfa430c9755d3
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -21,17 +21,17 @@ internal class TouchData
|
||||
* 所以需要使用WX的触控接口重新覆盖Unity的BaseInput关于触控方面的接口
|
||||
* 通过设置StandaloneInputModule.inputOverride的方式来实现
|
||||
*/
|
||||
[RequireComponent(typeof(StandaloneInputModule))]
|
||||
[RequireComponent(typeof(WXTouchInputModule))]
|
||||
public class WXTouchInputOverride : BaseInput
|
||||
{
|
||||
private bool _isInitWechatSDK;
|
||||
private readonly List<TouchData> _touches = new List<TouchData>();
|
||||
private StandaloneInputModule _standaloneInputModule = null;
|
||||
private WXTouchInputModule _standaloneInputModule = null;
|
||||
|
||||
protected override void Awake()
|
||||
{
|
||||
base.Awake();
|
||||
_standaloneInputModule = GetComponent<StandaloneInputModule>();
|
||||
_standaloneInputModule = GetComponent<WXTouchInputModule>();
|
||||
}
|
||||
|
||||
protected override void OnEnable()
|
||||
@ -138,11 +138,16 @@ public class WXTouchInputOverride : BaseInput
|
||||
Button button = selectedObject.GetComponent<Button>();
|
||||
if (button != null)
|
||||
{
|
||||
int clickListenerCount = button.onClick.GetPersistentEventCount();
|
||||
if (clickListenerCount > 0) {
|
||||
button.onClick.SetPersistentListenerState(0, UnityEventCallState.EditorAndRuntime);
|
||||
button.onClick.Invoke();
|
||||
button.onClick.SetPersistentListenerState(0, UnityEventCallState.Off);
|
||||
bool touchInButtonArea = false;
|
||||
foreach (var wxTouch in touchEvent.changedTouches)
|
||||
{
|
||||
TouchData data = FindTouchData(wxTouch.identifier);
|
||||
touchInButtonArea = touchInButtonArea || IsTouchInButtonArea(data, button);
|
||||
}
|
||||
if(touchInButtonArea)
|
||||
{
|
||||
button.OnPointerClick(new PointerEventData(EventSystem.current));
|
||||
// button.onClick.Invoke();
|
||||
}
|
||||
}
|
||||
#if !UNITY_EDITOR
|
||||
@ -175,6 +180,12 @@ public class WXTouchInputOverride : BaseInput
|
||||
}
|
||||
}
|
||||
|
||||
private static bool IsTouchInButtonArea(TouchData data, Button button)
|
||||
{
|
||||
RectTransform rect = button.GetComponent<RectTransform>();
|
||||
return RectTransformUtility.RectangleContainsScreenPoint(rect, data.touch.position, null);
|
||||
}
|
||||
|
||||
private void OnWxTouchCancel(OnTouchStartListenerResult touchEvent)
|
||||
{
|
||||
foreach (var wxTouch in touchEvent.changedTouches)
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d3d5d2167fc6b91f7fa3e08ea84c3cda
|
||||
guid: c1c94d3058d4e630bf62641c3202fdb2
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6c06693e00be3ab1fde2607590ab4e6d
|
||||
guid: 27ad33a6ffa5d371fa6b0d285bbb7898
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a02513af1cc852341848d1ee2622c3aa
|
||||
guid: c31dcf42c4276563ba976caebdb749d0
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: de11e750d070e1521430f1ea7d7e9b10
|
||||
guid: a7c2451197fc8ba01044823556011748
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 75c495849e8b58894c4df4019c28990f
|
||||
guid: 3c44dee219712fa066ac4eddfc897f63
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2676c806e8720f27b3c91d7b88934aea
|
||||
guid: 217f9f9cdd9e8e2e739376de81011ebe
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f98ab3c051a738848f5f25b3963ff875
|
||||
guid: baa9c990b0140a3c52f8f44f7a21a74b
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 14b4dacf147a2eb0b690def4fd2a25f8
|
||||
guid: 714357e1290ad4cb6778c6cb14c5d056
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fdc5a07bfe255668c4bc90b063ab0439
|
||||
guid: 73512ef38b4029a910bd246b9160f85e
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: cc12ac5f1dcfb4041e5b88bdb3d39df1
|
||||
guid: dd6633f9728238c2fdcbbf2f75dc479c
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3a78826b373fd69d30b14736655164fc
|
||||
guid: 8186617594c84cd966b79f3866f18248
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7e3a00c4051da2b6217cd8e156b32adc
|
||||
guid: 17415bb26fd419f8bea676b030f0ef76
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fa4490b63d04c3666e7d5bd6dbbe4a58
|
||||
guid: 992f6bd0d542edd7db92283edbccb867
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -33,6 +33,12 @@ const unityNamespace = {
|
||||
needCacheTextures: $NEED_CACHE_TEXTURES,
|
||||
// AssetBundle在内存中的存活时间
|
||||
ttlAssetBundle: 5,
|
||||
// AssetBundle在内存中的缓存上限(字节),0表示无限制
|
||||
capacityAssetBundle: 0,
|
||||
// AssetBundle在内存中的缓存大小(字节)
|
||||
prefetchSizeAssetBundle: 1024,
|
||||
// AssetBundle file fd在内存中的缓存数量(上限 10)
|
||||
fdCacheCountAssetBundle: 1,
|
||||
// 是否显示性能面板
|
||||
enableProfileStats: $ENABLE_PROFILE_STATS,
|
||||
// 是否预载微信系统字体
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 942f7b8a85c48dce854289ad244f3ca4
|
||||
guid: b17423b4acd54ef9f4883899dc2d011e
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4dadbfddf470bde3a646527500a79bb6
|
||||
guid: 43b5f6a2940f9caa671d4cd7d9129453
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1516197a3756cc06853320f648bd30f2
|
||||
guid: 58f45f375640430b37a0da7489b607f8
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b193152a2bbc37d0feda3c6544e7afc8
|
||||
guid: ec11b617b725d3d291537a2b35aff7b5
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b5a694336b7dd91fd242250f890f19b5
|
||||
guid: b01c92120b0d3837d0b64f78f51ac4fe
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5f862d1c69deabf4048bebed751c846d
|
||||
guid: 2adcfb3ecd905ddb00e5b0cbdf589a29
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7eb49c157fec3510cca59918268546d6
|
||||
guid: 9569430a28ea30ea02efba0292f416ac
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f6eb3ae66cc21f0114a7c9e15ac57d76
|
||||
guid: 6b65722b245c86f0d90a607693baf4d5
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1151cf42fe9e3fe2b444ddddbde08396
|
||||
guid: 00a33e24331b4b12fc168ee9f8cfcef9
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2b6db07c37dc2366237d59d8f785fd48
|
||||
guid: d7c9ed07be0f9d4046dcb1f6110a6ee8
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0e2b29c063f2d000be5dd2313958fa6c
|
||||
guid: d7e25d99a87f30454943c2f55480800f
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d34cf0ce316d07409a850c605540a013
|
||||
guid: b6d8bdaa925780e738f306a4f33f87dd
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d91ef4c43c9f3c9a6da9a65b379b5740
|
||||
guid: 468dd19888378cbacafc0e69a1aae273
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6660a6a8aacee1f2096340441fdbd3ce
|
||||
guid: 4e7a4b2030de805a1087de9301b3c2ab
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 119c8bb6b0ad127ed8bac3162a9969f8
|
||||
guid: e4dfd5c2b2f37c44523c0a6a1a04d651
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 59d869d78f133094896b88faa762234a
|
||||
guid: 667f745458b0f3bbbbb37f7c0775705e
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 34d39008817c30ca826af31fc01525e7
|
||||
guid: 69b759c86a9a7a7ff4fa346298807f37
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 73a18f6a646fbaf0e8526fc1526ae97a
|
||||
guid: 4472d8348596a35da850936453990f7b
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c9e4678df01d9876b1b0aa336ee45401
|
||||
guid: 194e931c5cd2772a6c2a6886d428489d
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c2c849f6ee1aeeb7f9ccc36695a38d24
|
||||
guid: a8d58865bd0e46977b196628e93c7811
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b2200a16cb9b949081f51aa4fe6807bd
|
||||
guid: ee4352b29aae5ade0e9c328a0a205827
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b89e0228f0375beca9b6d7b1ad95356a
|
||||
guid: 15d35e21995dcaf07cb54951a36b5a22
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c82e223e59fd93811d3aa303bb51f02e
|
||||
guid: d5573172c468e9dc11515525a8bb734d
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3c570e4eb7ff538d7aa640fb8c3d02da
|
||||
guid: 353efbe02f54905e89a98292082d515f
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -33,7 +33,6 @@ export const ResType = {
|
||||
phoneCalendarAuthorized: 'string',
|
||||
},
|
||||
AppBaseInfo: {
|
||||
PCKernelVersion: 'string',
|
||||
SDKVersion: 'string',
|
||||
enableDebug: 'bool',
|
||||
fontSizeScaleFactor: 'number',
|
||||
@ -103,50 +102,13 @@ export const ResType = {
|
||||
width: 'number',
|
||||
},
|
||||
OfficialComponentsInfo: {
|
||||
challengeRewardsComponentInfo: 'ChallengeRewardsComponentInfo',
|
||||
notificationComponentInfo: 'OfficialComponentInfo',
|
||||
rewardsComponentInfo: 'RewardsComponentInfo',
|
||||
},
|
||||
ChallengeRewardsComponentInfo: {
|
||||
name: 'string',
|
||||
receiveDetail: 'ChallengeReceiveDetail',
|
||||
},
|
||||
ChallengeReceiveDetail: {
|
||||
awardResult: 'number',
|
||||
receivedRareReward: 'bool',
|
||||
userSourceList: 'UserSource[]',
|
||||
},
|
||||
UserSource: {
|
||||
sourceType: 'number',
|
||||
source: 'SourceInfo',
|
||||
sourceNum: 'number',
|
||||
},
|
||||
SourceInfo: {
|
||||
propList: 'PropInfo[]',
|
||||
type: 'number',
|
||||
sourceName: 'string',
|
||||
},
|
||||
PropInfo: {
|
||||
propName: 'string',
|
||||
propNum: 'number',
|
||||
},
|
||||
OfficialComponentInfo: {
|
||||
boundingClientRect: 'ClientRect',
|
||||
isVisible: 'bool',
|
||||
name: 'string',
|
||||
},
|
||||
RewardsComponentInfo: {
|
||||
canReceiveFriendGiftCount: 'number',
|
||||
canReceiveGiftCount: 'number',
|
||||
name: 'string',
|
||||
receiveDetail: 'ReceiveDetail',
|
||||
},
|
||||
ReceiveDetail: {
|
||||
desc: 'string',
|
||||
icon: 'string',
|
||||
name: 'string',
|
||||
type: 'string',
|
||||
},
|
||||
GetStorageInfoSyncOption: {
|
||||
currentSize: 'number',
|
||||
keys: 'string[]',
|
||||
@ -330,18 +292,6 @@ export const ResType = {
|
||||
added: 'bool',
|
||||
errMsg: 'string',
|
||||
},
|
||||
CheckIsSupportMidasPaymentFailCallbackErr: {
|
||||
errMsg: 'string',
|
||||
},
|
||||
CheckIsSupportMidasPaymentSuccessCallbackResult: {
|
||||
data: 'CheckIsSupportMidasPaymentSuccessCallbackDataResult',
|
||||
errMsg: 'string',
|
||||
},
|
||||
CheckIsSupportMidasPaymentSuccessCallbackDataResult: {
|
||||
allow_pay: 'bool',
|
||||
err_code: 'number',
|
||||
err_msg: 'string',
|
||||
},
|
||||
ChooseImageSuccessCallbackResult: {
|
||||
tempFilePaths: 'string[]',
|
||||
tempFiles: 'ImageFile[]',
|
||||
@ -837,7 +787,6 @@ export const ResType = {
|
||||
},
|
||||
OnCopyUrlListenerResult: {
|
||||
query: 'string',
|
||||
title: 'string',
|
||||
},
|
||||
OnDeviceMotionChangeListenerResult: {
|
||||
alpha: 'number',
|
||||
@ -1010,10 +959,6 @@ export const ResType = {
|
||||
errMsg: 'string',
|
||||
errCode: 'number',
|
||||
},
|
||||
RequestFacialVerifyError: {
|
||||
errMsg: 'string',
|
||||
errCode: 'number',
|
||||
},
|
||||
MidasFriendPaymentError: {
|
||||
errMsg: 'string',
|
||||
errCode: 'number',
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9a8702f6acee306755d112480d39813c
|
||||
guid: 1bf54f95d5d19a08b2e3e82cc7ccfb64
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 90a536e2c5a0814cc1c58b70c92da9a4
|
||||
guid: 083d4cf4551f5164e1a505f3cd8b1e8f
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 02830b8246e010bdd89e47fefd9adf6b
|
||||
guid: eb9de486a4eec97a4b229847f6e255ab
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 853f4640fa1b8a092c4ccb4669d6971c
|
||||
guid: cdbd58274d8ae00e337d51d602c5378b
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 24c205c5759ec41da1b00eda2ac42564
|
||||
guid: 80b523495a13e66a422d98e13c7eff5a
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9782628a70978396e495b86274aa398d
|
||||
guid: 8d2ff0bc1186e9b0d42ba632bb26f8a4
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 674bba89e7bc0b330d4920c8a1d2470f
|
||||
guid: 788694f8101a6295448360ce6b6b4bc2
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: faa496c26f840b60f61ac89b5f564f32
|
||||
guid: d7dec1f15de584e1f84cd4493fdd0a48
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6cbac21da9894d5092f47042e7dcab8e
|
||||
guid: 16d5607f3d275e276ba636c84749a409
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: aa534e5bd9009a4f986abd6cc2ff823b
|
||||
guid: 245a41dc985294ef729d4febcdba4330
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3251c8f50cca5fae20e0e2bbc567bf40
|
||||
guid: 8b3e54173130fc7bfe9b947324f8381a
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6ee130afc0339063c59da8a830c7663e
|
||||
guid: 82d227f51cc634da5d2c823c734aba29
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 30161526e5960c70e6965463a8c98492
|
||||
guid: 4f694e8ab071264be2afa7306f27c9eb
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 47d2bb9aac0b87cfdf12358dc192e755
|
||||
guid: 85b9ee393a4ef2ec126adb3621bb3673
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7babfccd3322d8f0bb49bb466cc03624
|
||||
guid: 6ce1a55ffe625cf4fb60649f30c0a109
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a99dd0e69496ec987fc46d387fee8587
|
||||
guid: 9f9e1c2061e7cd452230c2d649cda757
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: deb969752e56efd1f30292483076fe8d
|
||||
guid: 4ffbd9e2e175b5626c1f9d1b9d9aa235
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 873c3ff5c09c499cea533e76613b289c
|
||||
guid: 3a861300d7223ae05e5c2e8dd8a374a5
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b62dfcd3bba0143fe64bb393b6718200
|
||||
guid: 42bff66ff4c60eb1bf7e781a0d9553b3
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0f5d268ad00ae324c34a888a2bc0f3b9
|
||||
guid: 7d74f56089d99f3e453c14906fff3b48
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c4b7634dc3628a25ae87b92a174f5056
|
||||
guid: 203be505f0122fd3995fddaa632328c6
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
],
|
||||
"plugins": {
|
||||
"UnityPlugin": {
|
||||
"version": "1.2.91",
|
||||
"version": "1.2.101",
|
||||
"provider": "wxe5a48f1ed5f544b7",
|
||||
"contexts": [
|
||||
{
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: acc81d1c264bc0dadd4552d59e6b5cc0
|
||||
guid: 3648cd65712f76738551dd95c7b49342
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 304fa8442a722ea29aaf75c80ecf36d0
|
||||
guid: 843f120cbeb0f4077c666b559649255e
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 07577f5e35b0d9d10be3e7da2f636244
|
||||
guid: 850497dbc7d3702dc006cf484111392e
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 90f5231878ca8f4be00b3ce66b678dd1
|
||||
guid: f4d6ef087522c81319d68ce6ecd927e4
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f54994eb4369a71edd1d509002ad2f14
|
||||
guid: 0ea509b4d9f70e25e6d8bd8bef194851
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 48fbcdad3f9d3b9f921019659939b17c
|
||||
guid: 2bb31b4dcfbed3586466f8f11eda54d7
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 116976e02bc785ec509b059f15a5826b
|
||||
guid: 56a14988689bb6f8e7fed173994819f8
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 39b854a719f26a74ceafd3208b3d1559
|
||||
guid: 98a7d83e0f6598fdb801df93cd9fe6bc
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 71c319aa5539d8cc938c59c1f95015a2
|
||||
guid: 3a95faa8791b11a82f916bf53a37ff62
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4c4cd8fe6d78dca85ddf042297dbfa8e
|
||||
guid: 3c05801c7325ef4b2ab96c2db64f1d5b
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bfe81ba23a1b4042745b051435b5580c
|
||||
guid: 951dd3111429bd183d8125eb60f9b56a
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b2047abd88a0e4c828645361f0825461
|
||||
guid: 9e6bf3eb0d061f984bc32604efa95e60
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 05954e3656c1b42399214f7a474e1dc3
|
||||
guid: 48239d7a1a983727fd49c2078c0180fd
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a10c90dec186b4fb6907d4c144ee7ab5
|
||||
guid: 68217158b14758e75278b2bd664073b7
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9aa5b725da3747ea7fdd3007c9fc1e9a
|
||||
guid: ad40b84487ab91912aa45f91e9426b2b
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3af9f84d877d17c7ba3a46100af46468
|
||||
guid: 32fb6d932c73cef5c1b701c7fede2ed5
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 55b4fb765fdc8b3266dd1a0bbc43e676
|
||||
guid: 6b972120e9320536e358172d831d3362
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 00afcfdfb3003edd8e2b656b605b3ffa
|
||||
guid: ebcf9c5c95e17607c8c44a018338aae5
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 89cb03c9ed8a7e361bce00ef148ccbf2
|
||||
guid: baae6c8c9d77277917f8078cc9e0cd9c
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
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