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
da392637d3
commit
709ddb823a
17
CHANGELOG.md
17
CHANGELOG.md
@ -6,23 +6,6 @@ Removed - 删除功能/接口
|
||||
Fixed - 修复问题
|
||||
Others - 其他
|
||||
-->
|
||||
## 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)以加快读取速度
|
||||
|
||||
78
Editor/BuildProfile/WeixinBuildProfileUpdater.cs
Normal file
78
Editor/BuildProfile/WeixinBuildProfileUpdater.cs
Normal file
@ -0,0 +1,78 @@
|
||||
#if TUANJIE_1_6_OR_NEWER && !TUANJIE_1_8_OR_NEWER
|
||||
|
||||
using System.Collections.Generic;
|
||||
using UnityEditor;
|
||||
using UnityEditor.ExternalMiniGame;
|
||||
using UnityEngine;
|
||||
|
||||
namespace WeChatWASM
|
||||
{
|
||||
[InitializeOnLoad]
|
||||
public class WeixinBuildProfileUpdater
|
||||
{
|
||||
static WeixinBuildProfileUpdater()
|
||||
{
|
||||
UpdateBuildProfile();
|
||||
}
|
||||
|
||||
public static void UpdateBuildProfile()
|
||||
{
|
||||
string buildProfilePath = "Assets/Settings/Build Profiles";
|
||||
if (!AssetDatabase.IsValidFolder(buildProfilePath))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
string[] guids = AssetDatabase.FindAssets("t:BuildProfile", new[] { buildProfilePath });
|
||||
foreach (string guid in guids)
|
||||
{
|
||||
string assetPath = AssetDatabase.GUIDToAssetPath(guid);
|
||||
UnityEditor.Build.Profile.BuildProfile buildProfile = AssetDatabase.LoadAssetAtPath<UnityEditor.Build.Profile.BuildProfile>(assetPath);
|
||||
|
||||
if (buildProfile != null)
|
||||
{
|
||||
bool isDefaultWeixinSettings = buildProfile.miniGameSettings is DefaultWeChatMiniGameSettings;
|
||||
|
||||
// If use DefaultWeChatMiniGameSettings, convert to WeixinMiniGameSettings
|
||||
if (isDefaultWeixinSettings)
|
||||
{
|
||||
var oldSettings = (DefaultWeChatMiniGameSettings)buildProfile.miniGameSettings;
|
||||
var editor = new WeixinMiniGameSettingsEditor();
|
||||
var newSettings = new WeixinMiniGameSettings(editor);
|
||||
|
||||
newSettings.ProjectConf = new WXProjectConf();
|
||||
newSettings.SDKOptions = new SDKOptions();
|
||||
newSettings.CompileOptions = new CompileOptions();
|
||||
newSettings.CompressTexture = new CompressTexture();
|
||||
newSettings.FontOptions = new FontOptions();
|
||||
|
||||
string projJson = JsonUtility.ToJson(oldSettings.ProjectConf, true);
|
||||
JsonUtility.FromJsonOverwrite(projJson, newSettings.ProjectConf);
|
||||
string sdkOptionsJson = JsonUtility.ToJson(oldSettings.SDKOptions, true);
|
||||
JsonUtility.FromJsonOverwrite(sdkOptionsJson, newSettings.SDKOptions);
|
||||
string compileOptionsJson = JsonUtility.ToJson(oldSettings.CompileOptions, true);
|
||||
JsonUtility.FromJsonOverwrite(compileOptionsJson, newSettings.CompileOptions);
|
||||
string compressTextureJson = JsonUtility.ToJson(oldSettings.CompressTexture, true);
|
||||
JsonUtility.FromJsonOverwrite(compressTextureJson, newSettings.CompressTexture);
|
||||
string fontOptionsJson = JsonUtility.ToJson(oldSettings.FontOptions, true);
|
||||
JsonUtility.FromJsonOverwrite(fontOptionsJson, newSettings.FontOptions);
|
||||
|
||||
var property = typeof(UnityEditor.Build.Profile.BuildProfile).GetProperty("miniGameSettings",
|
||||
System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance);
|
||||
property.SetValue(buildProfile, newSettings);
|
||||
buildProfile.miniGameSettings = newSettings;
|
||||
|
||||
EditorUtility.SetDirty(buildProfile);
|
||||
AssetDatabase.SaveAssets();
|
||||
AssetDatabase.ImportAsset(AssetDatabase.GetAssetPath(buildProfile));
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
#endif
|
||||
11
Editor/BuildProfile/WeixinBuildProfileUpdater.cs.meta
Normal file
11
Editor/BuildProfile/WeixinBuildProfileUpdater.cs.meta
Normal file
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 741d5b08eb860f748890537f2389546f
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -26,561 +26,13 @@ namespace WeChatWASM
|
||||
private Dictionary<string, bool> formCheckboxData = new Dictionary<string, bool>();
|
||||
public Texture tex;
|
||||
|
||||
public WXSettingsHelper helper = new WXSettingsHelper();
|
||||
|
||||
public override void OnMiniGameSettingsIMGUI(SerializedObject serializedObject, SerializedProperty miniGameProperty)
|
||||
{
|
||||
OnSettingsGUI(serializedObject, miniGameProperty);
|
||||
helper.OnSettingsGUI(serializedObject, miniGameProperty);
|
||||
}
|
||||
|
||||
public void OnSettingsGUI(SerializedObject serializedObject, SerializedProperty miniGameProperty)
|
||||
{
|
||||
loadData(serializedObject, miniGameProperty);
|
||||
|
||||
scrollRoot = EditorGUILayout.BeginScrollView(scrollRoot);
|
||||
|
||||
GUIStyle linkStyle = new GUIStyle(GUI.skin.label);
|
||||
linkStyle.normal.textColor = Color.yellow;
|
||||
linkStyle.hover.textColor = Color.yellow;
|
||||
linkStyle.stretchWidth = false;
|
||||
linkStyle.alignment = TextAnchor.UpperLeft;
|
||||
linkStyle.wordWrap = true;
|
||||
|
||||
foldBaseInfo = EditorGUILayout.Foldout(foldBaseInfo, "基本信息");
|
||||
if (foldBaseInfo)
|
||||
{
|
||||
EditorGUILayout.BeginVertical("frameBox", GUILayout.ExpandWidth(true));
|
||||
|
||||
formInput("appid", "游戏AppID");
|
||||
formInput("cdn", "游戏资源CDN");
|
||||
formInput("projectName", "小游戏项目名");
|
||||
formIntPopup("orientation", "游戏方向", new[] { "Portrait", "Landscape", "LandscapeLeft", "LandscapeRight" }, new[] { 0, 1, 2, 3 });
|
||||
formInput("memorySize", "UnityHeap预留内存(?)", "单位MB,预分配内存值,超休闲游戏256/中轻度496/重度游戏768,需预估游戏最大UnityHeap值以防止内存自动扩容带来的峰值尖刺。预估方法请查看GIT文档《优化Unity WebGL的内存》");
|
||||
|
||||
EditorGUILayout.EndVertical();
|
||||
}
|
||||
|
||||
foldLoadingConfig = EditorGUILayout.Foldout(foldLoadingConfig, "启动Loading配置");
|
||||
if (foldLoadingConfig)
|
||||
{
|
||||
EditorGUILayout.BeginVertical("frameBox", GUILayout.ExpandWidth(true));
|
||||
|
||||
GUILayout.BeginHorizontal();
|
||||
string targetBg = "bgImageSrc";
|
||||
EditorGUILayout.LabelField(string.Empty, GUILayout.Width(10));
|
||||
tex = (Texture)EditorGUILayout.ObjectField("启动背景图/视频封面", tex, typeof(Texture2D), false);
|
||||
var currentBgSrc = AssetDatabase.GetAssetPath(tex);
|
||||
if (!string.IsNullOrEmpty(currentBgSrc) && currentBgSrc != formInputData[targetBg])
|
||||
{
|
||||
formInputData[targetBg] = currentBgSrc;
|
||||
saveData(serializedObject, miniGameProperty);
|
||||
}
|
||||
GUILayout.EndHorizontal();
|
||||
|
||||
formInput("videoUrl", "加载阶段视频URL");
|
||||
formIntPopup("assetLoadType", "首包资源加载方式", new[] { "CDN", "小游戏包内" }, new[] { 0, 1 });
|
||||
formCheckbox("compressDataPackage", "压缩首包资源(?)", "将首包资源Brotli压缩, 降低资源大小. 注意: 首次启动耗时可能会增加200ms, 仅推荐使用小游戏分包加载时节省包体大小使用");
|
||||
formInput("bundleExcludeExtensions", "不自动缓存文件类型(?)", "(使用;分割)当请求url包含资源'cdn+StreamingAssets'时会自动缓存,但StreamingAssets目录下不是所有文件都需缓存,此选项配置不需要自动缓存的文件拓展名。默认值json");
|
||||
formInput("bundleHashLength", "Bundle名称Hash长度(?)", "自定义Bundle文件名中hash部分长度,默认值32,用于缓存控制。");
|
||||
formInput("preloadFiles", "预下载文件列表(?)", "使用;间隔,支持模糊匹配");
|
||||
|
||||
EditorGUILayout.EndVertical();
|
||||
}
|
||||
|
||||
foldSDKOptions = EditorGUILayout.Foldout(foldSDKOptions, "SDK功能选项");
|
||||
if (foldSDKOptions)
|
||||
{
|
||||
EditorGUILayout.BeginVertical("frameBox", GUILayout.ExpandWidth(true));
|
||||
|
||||
formCheckbox("useFriendRelation", "使用好友关系链");
|
||||
formCheckbox("useMiniGameChat", "使用社交组件");
|
||||
formCheckbox("preloadWXFont", "预加载微信字体(?)", "在game.js执行开始时预载微信系统字体,运行期间可使用WX.GetWXFont获取微信字体");
|
||||
formCheckbox("disableMultiTouch", "禁止多点触控");
|
||||
|
||||
EditorGUILayout.EndVertical();
|
||||
}
|
||||
|
||||
foldDebugOptions = EditorGUILayout.Foldout(foldDebugOptions, "调试编译选项");
|
||||
if (foldDebugOptions)
|
||||
{
|
||||
EditorGUILayout.BeginVertical("frameBox", GUILayout.ExpandWidth(true));
|
||||
// formCheckbox("developBuild", "Development Build");
|
||||
formCheckbox("autoProfile", "Auto connect Profiler");
|
||||
formCheckbox("scriptOnly", "Scripts Only Build");
|
||||
#if TUANJIE_2022_3_OR_NEWER
|
||||
// TODO: if overwrite by OverwritePlayerSettings
|
||||
bool UseIL2CPP = PlayerSettings.GetScriptingBackend(BuildTargetGroup.WeixinMiniGame) == ScriptingImplementation.IL2CPP;
|
||||
#else
|
||||
bool UseIL2CPP = true;
|
||||
#endif
|
||||
formCheckbox("il2CppOptimizeSize", "Il2Cpp Optimize Size(?)", "对应于Il2CppCodeGeneration选项,勾选时使用OptimizeSize(默认推荐),生成代码小15%左右,取消勾选则使用OptimizeSpeed。游戏中大量泛型集合的高频访问建议OptimizeSpeed,在使用HybridCLR等第三方组件时只能用OptimizeSpeed。(Dotnet Runtime模式下该选项无效)", !UseIL2CPP);
|
||||
formCheckbox("profilingFuncs", "Profiling Funcs");
|
||||
formCheckbox("profilingMemory", "Profiling Memory");
|
||||
|
||||
formCheckbox("webgl2", "WebGL2.0(beta)");
|
||||
formCheckbox("iOSPerformancePlus", "iOSPerformancePlus(?)", "是否使用iOS高性能+渲染方案,有助于提升渲染兼容性、降低WebContent进程内存");
|
||||
formCheckbox("EmscriptenGLX", "EmscriptenGLX(?)", "是否使用EmscriptenGLX渲染方案");
|
||||
formCheckbox("iOSMetal", "iOSMetal(?)", "是否使用iOSMetal渲染方案,需要开启iOS高性能+模式,有助于提升运行性能,降低iOS功耗");
|
||||
formCheckbox("deleteStreamingAssets", "Clear Streaming Assets");
|
||||
formCheckbox("cleanBuild", "Clean WebGL Build");
|
||||
// formCheckbox("cleanCloudDev", "Clean Cloud Dev");
|
||||
formCheckbox("fbslim", "首包资源优化(?)", "导出时自动清理UnityEditor默认打包但游戏项目从未使用的资源,瘦身首包资源体积。(团结引擎已无需开启该能力)", UnityUtil.GetEngineVersion() > 0, (res) =>
|
||||
{
|
||||
var fbWin = EditorWindow.GetWindow(typeof(WXFbSettingWindow), false, "首包资源优化配置面板", true);
|
||||
fbWin.minSize = new Vector2(680, 350);
|
||||
fbWin.Show();
|
||||
});
|
||||
formCheckbox("autoAdaptScreen", "自适应屏幕尺寸(?)", "移动端旋转屏幕和PC端拉伸窗口时,自动调整画布尺寸");
|
||||
formCheckbox("showMonitorSuggestModal", "显示优化建议弹窗");
|
||||
formCheckbox("enableProfileStats", "显示性能面板");
|
||||
formCheckbox("enableRenderAnalysis", "显示渲染日志(dev only)");
|
||||
|
||||
{
|
||||
formCheckbox("brotliMT", "brotli多线程压缩(?)", "开启多线程压缩可以提高出包速度,但会降低压缩率。如若不使用wasm代码分包请勿用多线程出包上线");
|
||||
}
|
||||
EditorGUILayout.EndVertical();
|
||||
}
|
||||
|
||||
if (WXConvertCore.IsInstantGameAutoStreaming())
|
||||
{
|
||||
foldInstantGame = EditorGUILayout.Foldout(foldInstantGame, "Instant Game - AutoStreaming");
|
||||
if (foldInstantGame)
|
||||
{
|
||||
var automaticfillinstantgame = miniGameProperty.FindPropertyRelative("m_AutomaticFillInstantGame");
|
||||
EditorGUILayout.BeginVertical("frameBox", GUILayout.ExpandWidth(true));
|
||||
GUILayout.BeginHorizontal();
|
||||
EditorGUILayout.LabelField(string.Empty, GUILayout.Width(10));
|
||||
formCheckbox("m_AutomaticFillInstantGame", "自动填写AutoStreaming", "仅在开启AutoStreaming生效");
|
||||
GUILayout.EndHorizontal();
|
||||
formInput("bundlePathIdentifier", "Bundle Path Identifier");
|
||||
formInput("dataFileSubPrefix", "Data File Sub Prefix");
|
||||
|
||||
EditorGUI.BeginDisabledGroup(true);
|
||||
formCheckbox("autoUploadFirstBundle", "构建后自动上传首包(?)", "仅在开启AutoStreaming生效", true);
|
||||
EditorGUI.EndDisabledGroup();
|
||||
|
||||
GUILayout.BeginHorizontal();
|
||||
EditorGUILayout.LabelField(string.Empty, GUILayout.Width(10));
|
||||
GUILayout.Label(new GUIContent("清理AS配置(?)", "如需关闭AutoStreaming选用默认发布方案则需要清理AS配置项目。"), GUILayout.Width(140));
|
||||
EditorGUI.BeginDisabledGroup(WXConvertCore.IsInstantGameAutoStreaming());
|
||||
if (GUILayout.Button(new GUIContent("恢复"), GUILayout.Width(60)))
|
||||
{
|
||||
var ProjectConf = miniGameProperty.FindPropertyRelative("ProjectConf");
|
||||
string identifier = ProjectConf.FindPropertyRelative("bundlePathIdentifier").stringValue;
|
||||
string[] identifiers = identifier.Split(";");
|
||||
string idStr = "";
|
||||
foreach (string id in identifiers)
|
||||
{
|
||||
if (id != "AS" && id != "CUS/CustomAB")
|
||||
{
|
||||
idStr += id + ";";
|
||||
}
|
||||
}
|
||||
ProjectConf.FindPropertyRelative("bundlePathIdentifier").stringValue = idStr.Trim(';');
|
||||
|
||||
if (ProjectConf.FindPropertyRelative("dataFileSubPrefix").stringValue == "CUS")
|
||||
{
|
||||
ProjectConf.FindPropertyRelative("dataFileSubPrefix").stringValue = "";
|
||||
}
|
||||
loadData(serializedObject, miniGameProperty);
|
||||
}
|
||||
EditorGUI.EndDisabledGroup();
|
||||
GUILayout.EndHorizontal();
|
||||
|
||||
EditorGUILayout.BeginHorizontal();
|
||||
EditorGUILayout.LabelField(string.Empty);
|
||||
if (GUILayout.Button(new GUIContent("了解Instant Game AutoStreaming", ""), linkStyle))
|
||||
{
|
||||
Application.OpenURL("https://github.com/wechat-miniprogram/minigame-unity-webgl-transform/blob/main/Design/InstantGameGuide.md");
|
||||
}
|
||||
EditorGUILayout.EndHorizontal();
|
||||
EditorGUILayout.EndVertical();
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
foldFontOptions = EditorGUILayout.Foldout(foldFontOptions, "字体配置");
|
||||
if (foldFontOptions)
|
||||
{
|
||||
EditorGUILayout.BeginVertical("frameBox", GUILayout.ExpandWidth(true));
|
||||
formCheckbox("CJK_Unified_Ideographs", "基本汉字(?)", "Unicode [0x4e00, 0x9fff]");
|
||||
formCheckbox("C0_Controls_and_Basic_Latin", "基本拉丁语(英文大小写、数字、英文标点)(?)", "Unicode [0x0, 0x7f]");
|
||||
formCheckbox("CJK_Symbols_and_Punctuation", "中文标点符号(?)", "Unicode [0x3000, 0x303f]");
|
||||
formCheckbox("General_Punctuation", "通用标点符号(?)", "Unicode [0x2000, 0x206f]");
|
||||
formCheckbox("Enclosed_CJK_Letters_and_Months", "CJK字母及月份(?)", "Unicode [0x3200, 0x32ff]");
|
||||
formCheckbox("Vertical_Forms", "中文竖排标点(?)", "Unicode [0xfe10, 0xfe1f]");
|
||||
formCheckbox("CJK_Compatibility_Forms", "CJK兼容符号(?)", "Unicode [0xfe30, 0xfe4f]");
|
||||
formCheckbox("Miscellaneous_Symbols", "杂项符号(?)", "Unicode [0x2600, 0x26ff]");
|
||||
formCheckbox("CJK_Compatibility", "CJK特殊符号(?)", "Unicode [0x3300, 0x33ff]");
|
||||
formCheckbox("Halfwidth_and_Fullwidth_Forms", "全角ASCII、全角中英文标点、半宽片假名、半宽平假名、半宽韩文字母(?)", "Unicode [0xff00, 0xffef]");
|
||||
formCheckbox("Dingbats", "装饰符号(?)", "Unicode [0x2700, 0x27bf]");
|
||||
formCheckbox("Letterlike_Symbols", "字母式符号(?)", "Unicode [0x2100, 0x214f]");
|
||||
formCheckbox("Enclosed_Alphanumerics", "带圈或括号的字母数字(?)", "Unicode [0x2460, 0x24ff]");
|
||||
formCheckbox("Number_Forms", "数字形式(?)", "Unicode [0x2150, 0x218f]");
|
||||
formCheckbox("Currency_Symbols", "货币符号(?)", "Unicode [0x20a0, 0x20cf]");
|
||||
formCheckbox("Arrows", "箭头(?)", "Unicode [0x2190, 0x21ff]");
|
||||
formCheckbox("Geometric_Shapes", "几何图形(?)", "Unicode [0x25a0, 0x25ff]");
|
||||
formCheckbox("Mathematical_Operators", "数学运算符号(?)", "Unicode [0x2200, 0x22ff]");
|
||||
formInput("CustomUnicode", "自定义Unicode(?)", "将填入的所有字符强制加入字体预加载列表");
|
||||
EditorGUILayout.EndVertical();
|
||||
}
|
||||
}
|
||||
|
||||
EditorGUILayout.EndScrollView();
|
||||
saveData(serializedObject, miniGameProperty);
|
||||
}
|
||||
|
||||
private void loadData(SerializedObject serializedObject, SerializedProperty miniGameProperty)
|
||||
{
|
||||
serializedObject.UpdateIfRequiredOrScript();
|
||||
var ProjectConf = miniGameProperty.FindPropertyRelative("ProjectConf");
|
||||
|
||||
// Instant Game
|
||||
if (WXConvertCore.IsInstantGameAutoStreaming())
|
||||
{
|
||||
var automaticfillinstantgame = miniGameProperty.FindPropertyRelative("m_AutomaticFillInstantGame");
|
||||
if (automaticfillinstantgame.boolValue)
|
||||
{
|
||||
ProjectConf.FindPropertyRelative("CDN").stringValue = WXConvertCore.GetInstantGameAutoStreamingCDN();
|
||||
if (!ProjectConf.FindPropertyRelative("bundlePathIdentifier").stringValue.Contains("AS;"))
|
||||
{
|
||||
ProjectConf.FindPropertyRelative("bundlePathIdentifier").stringValue += "AS;";
|
||||
}
|
||||
if (!ProjectConf.FindPropertyRelative("bundlePathIdentifier").stringValue.Contains("CUS/CustomAB;"))
|
||||
{
|
||||
ProjectConf.FindPropertyRelative("bundlePathIdentifier").stringValue += "CUS/CustomAB;";
|
||||
}
|
||||
ProjectConf.FindPropertyRelative("dataFileSubPrefix").stringValue = "CUS";
|
||||
}
|
||||
}
|
||||
|
||||
setData("projectName", ProjectConf.FindPropertyRelative("projectName").stringValue);
|
||||
setData("appid", ProjectConf.FindPropertyRelative("Appid").stringValue);
|
||||
setData("cdn", ProjectConf.FindPropertyRelative("CDN").stringValue);
|
||||
setData("assetLoadType", ProjectConf.FindPropertyRelative("assetLoadType").intValue);
|
||||
setData("compressDataPackage", ProjectConf.FindPropertyRelative("compressDataPackage").boolValue);
|
||||
setData("videoUrl", ProjectConf.FindPropertyRelative("VideoUrl").stringValue);
|
||||
setData("orientation", (int)ProjectConf.FindPropertyRelative("Orientation").enumValueIndex);
|
||||
//setData("dst", ProjectConf.FindPropertyRelative("relativeDST").stringValue);
|
||||
setData("bundleHashLength", ProjectConf.FindPropertyRelative("bundleHashLength").intValue.ToString());
|
||||
setData("bundlePathIdentifier", ProjectConf.FindPropertyRelative("bundlePathIdentifier").stringValue);
|
||||
setData("bundleExcludeExtensions", ProjectConf.FindPropertyRelative("bundleExcludeExtensions").stringValue);
|
||||
setData("preloadFiles", ProjectConf.FindPropertyRelative("preloadFiles").stringValue);
|
||||
|
||||
var CompileOptions = miniGameProperty.FindPropertyRelative("CompileOptions");
|
||||
// setData("developBuild", CompileOptions.FindPropertyRelative("DevelopBuild").boolValue);
|
||||
setData("autoProfile", CompileOptions.FindPropertyRelative("AutoProfile").boolValue);
|
||||
setData("scriptOnly", CompileOptions.FindPropertyRelative("ScriptOnly").boolValue);
|
||||
setData("il2CppOptimizeSize", CompileOptions.FindPropertyRelative("Il2CppOptimizeSize").boolValue);
|
||||
setData("profilingFuncs", CompileOptions.FindPropertyRelative("profilingFuncs").boolValue);
|
||||
setData("profilingMemory", CompileOptions.FindPropertyRelative("ProfilingMemory").boolValue);
|
||||
setData("deleteStreamingAssets", CompileOptions.FindPropertyRelative("DeleteStreamingAssets").boolValue);
|
||||
setData("cleanBuild", CompileOptions.FindPropertyRelative("CleanBuild").boolValue);
|
||||
setData("customNodePath", CompileOptions.FindPropertyRelative("CustomNodePath").stringValue);
|
||||
setData("webgl2", CompileOptions.FindPropertyRelative("Webgl2").boolValue);
|
||||
setData("iOSPerformancePlus", CompileOptions.FindPropertyRelative("enableIOSPerformancePlus").boolValue);
|
||||
setData("iOSMetal", CompileOptions.FindPropertyRelative("enableiOSMetal").boolValue);
|
||||
setData("EmscriptenGLX", CompileOptions.FindPropertyRelative("enableEmscriptenGLX").boolValue);
|
||||
setData("fbslim", CompileOptions.FindPropertyRelative("fbslim").boolValue);
|
||||
|
||||
var SDKOptions = miniGameProperty.FindPropertyRelative("SDKOptions");
|
||||
setData("useFriendRelation", SDKOptions.FindPropertyRelative("UseFriendRelation").boolValue);
|
||||
setData("useMiniGameChat", SDKOptions.FindPropertyRelative("UseMiniGameChat").boolValue);
|
||||
setData("preloadWXFont", SDKOptions.FindPropertyRelative("PreloadWXFont").boolValue);
|
||||
setData("disableMultiTouch", SDKOptions.FindPropertyRelative("disableMultiTouch").boolValue);
|
||||
setData("bgImageSrc", ProjectConf.FindPropertyRelative("bgImageSrc").stringValue);
|
||||
tex = AssetDatabase.LoadAssetAtPath<Texture>(ProjectConf.FindPropertyRelative("bgImageSrc").stringValue);
|
||||
setData("memorySize", ProjectConf.FindPropertyRelative("MemorySize").intValue.ToString());
|
||||
setData("hideAfterCallMain", ProjectConf.FindPropertyRelative("HideAfterCallMain").boolValue);
|
||||
|
||||
setData("dataFileSubPrefix", ProjectConf.FindPropertyRelative("dataFileSubPrefix").stringValue);
|
||||
setData("maxStorage", ProjectConf.FindPropertyRelative("maxStorage").intValue.ToString());
|
||||
setData("defaultReleaseSize", ProjectConf.FindPropertyRelative("defaultReleaseSize").intValue.ToString());
|
||||
setData("texturesHashLength", ProjectConf.FindPropertyRelative("texturesHashLength").intValue.ToString());
|
||||
setData("texturesPath", ProjectConf.FindPropertyRelative("texturesPath").stringValue);
|
||||
setData("needCacheTextures", ProjectConf.FindPropertyRelative("needCacheTextures").boolValue);
|
||||
setData("loadingBarWidth", ProjectConf.FindPropertyRelative("loadingBarWidth").intValue.ToString());
|
||||
setData("needCheckUpdate", ProjectConf.FindPropertyRelative("needCheckUpdate").boolValue);
|
||||
setData("disableHighPerformanceFallback", ProjectConf.FindPropertyRelative("disableHighPerformanceFallback").boolValue);
|
||||
setData("autoAdaptScreen", CompileOptions.FindPropertyRelative("autoAdaptScreen").boolValue);
|
||||
setData("showMonitorSuggestModal", CompileOptions.FindPropertyRelative("showMonitorSuggestModal").boolValue);
|
||||
setData("enableProfileStats", CompileOptions.FindPropertyRelative("enableProfileStats").boolValue);
|
||||
setData("enableRenderAnalysis", CompileOptions.FindPropertyRelative("enableRenderAnalysis").boolValue);
|
||||
setData("brotliMT", CompileOptions.FindPropertyRelative("brotliMT").boolValue);
|
||||
setData("autoUploadFirstBundle", true);
|
||||
setData("m_AutomaticFillInstantGame", miniGameProperty.FindPropertyRelative("m_AutomaticFillInstantGame").boolValue);
|
||||
|
||||
// font options
|
||||
var FontOptions = miniGameProperty.FindPropertyRelative("FontOptions");
|
||||
setData("CJK_Unified_Ideographs", FontOptions.FindPropertyRelative("CJK_Unified_Ideographs").boolValue);
|
||||
setData("C0_Controls_and_Basic_Latin", FontOptions.FindPropertyRelative("C0_Controls_and_Basic_Latin").boolValue);
|
||||
setData("CJK_Symbols_and_Punctuation", FontOptions.FindPropertyRelative("CJK_Symbols_and_Punctuation").boolValue);
|
||||
setData("General_Punctuation", FontOptions.FindPropertyRelative("General_Punctuation").boolValue);
|
||||
setData("Enclosed_CJK_Letters_and_Months", FontOptions.FindPropertyRelative("Enclosed_CJK_Letters_and_Months").boolValue);
|
||||
setData("Vertical_Forms", FontOptions.FindPropertyRelative("Vertical_Forms").boolValue);
|
||||
setData("CJK_Compatibility_Forms", FontOptions.FindPropertyRelative("CJK_Compatibility_Forms").boolValue);
|
||||
setData("Miscellaneous_Symbols", FontOptions.FindPropertyRelative("Miscellaneous_Symbols").boolValue);
|
||||
setData("CJK_Compatibility", FontOptions.FindPropertyRelative("CJK_Compatibility").boolValue);
|
||||
setData("Halfwidth_and_Fullwidth_Forms", FontOptions.FindPropertyRelative("Halfwidth_and_Fullwidth_Forms").boolValue);
|
||||
setData("Dingbats", FontOptions.FindPropertyRelative("Dingbats").boolValue);
|
||||
setData("Letterlike_Symbols", FontOptions.FindPropertyRelative("Letterlike_Symbols").boolValue);
|
||||
setData("Enclosed_Alphanumerics", FontOptions.FindPropertyRelative("Enclosed_Alphanumerics").boolValue);
|
||||
setData("Number_Forms", FontOptions.FindPropertyRelative("Number_Forms").boolValue);
|
||||
setData("Currency_Symbols", FontOptions.FindPropertyRelative("Currency_Symbols").boolValue);
|
||||
setData("Arrows", FontOptions.FindPropertyRelative("Arrows").boolValue);
|
||||
setData("Geometric_Shapes", FontOptions.FindPropertyRelative("Geometric_Shapes").boolValue);
|
||||
setData("Mathematical_Operators", FontOptions.FindPropertyRelative("Mathematical_Operators").boolValue);
|
||||
setData("CustomUnicode", FontOptions.FindPropertyRelative("CustomUnicode").stringValue);
|
||||
}
|
||||
|
||||
private void saveData(SerializedObject serializedObject, SerializedProperty miniGameProperty)
|
||||
{
|
||||
serializedObject.UpdateIfRequiredOrScript();
|
||||
|
||||
var ProjectConf = miniGameProperty.FindPropertyRelative("ProjectConf");
|
||||
ProjectConf.FindPropertyRelative("projectName").stringValue = getDataInput("projectName");
|
||||
ProjectConf.FindPropertyRelative("Appid").stringValue = getDataInput("appid");
|
||||
ProjectConf.FindPropertyRelative("CDN").stringValue = getDataInput("cdn");
|
||||
ProjectConf.FindPropertyRelative("assetLoadType").intValue = getDataPop("assetLoadType");
|
||||
ProjectConf.FindPropertyRelative("compressDataPackage").boolValue = getDataCheckbox("compressDataPackage");
|
||||
ProjectConf.FindPropertyRelative("VideoUrl").stringValue = getDataInput("videoUrl");
|
||||
ProjectConf.FindPropertyRelative("Orientation").enumValueIndex = getDataPop("orientation");
|
||||
ProjectConf.FindPropertyRelative("relativeDST").stringValue = serializedObject.FindProperty("m_BuildPath").stringValue;
|
||||
ProjectConf.FindPropertyRelative("DST").stringValue = GetAbsolutePath(config.ProjectConf.relativeDST);
|
||||
|
||||
ProjectConf.FindPropertyRelative("bundleHashLength").intValue = int.Parse(getDataInput("bundleHashLength"));
|
||||
ProjectConf.FindPropertyRelative("bundlePathIdentifier").stringValue = getDataInput("bundlePathIdentifier");
|
||||
ProjectConf.FindPropertyRelative("bundleExcludeExtensions").stringValue = getDataInput("bundleExcludeExtensions");
|
||||
ProjectConf.FindPropertyRelative("preloadFiles").stringValue = getDataInput("preloadFiles");
|
||||
|
||||
var CompileOptions = miniGameProperty.FindPropertyRelative("CompileOptions");
|
||||
|
||||
CompileOptions.FindPropertyRelative("DevelopBuild").boolValue = serializedObject.FindProperty("m_PlatformSettings").FindPropertyRelative("m_Development").boolValue;
|
||||
CompileOptions.FindPropertyRelative("AutoProfile").boolValue = getDataCheckbox("autoProfile");
|
||||
CompileOptions.FindPropertyRelative("ScriptOnly").boolValue = getDataCheckbox("scriptOnly");
|
||||
CompileOptions.FindPropertyRelative("Il2CppOptimizeSize").boolValue = getDataCheckbox("il2CppOptimizeSize");
|
||||
CompileOptions.FindPropertyRelative("profilingFuncs").boolValue = getDataCheckbox("profilingFuncs");
|
||||
CompileOptions.FindPropertyRelative("ProfilingMemory").boolValue = getDataCheckbox("profilingMemory");
|
||||
CompileOptions.FindPropertyRelative("DeleteStreamingAssets").boolValue = getDataCheckbox("deleteStreamingAssets");
|
||||
CompileOptions.FindPropertyRelative("CleanBuild").boolValue = getDataCheckbox("cleanBuild");
|
||||
CompileOptions.FindPropertyRelative("CustomNodePath").stringValue = getDataInput("customNodePath");
|
||||
CompileOptions.FindPropertyRelative("Webgl2").boolValue = getDataCheckbox("webgl2");
|
||||
CompileOptions.FindPropertyRelative("enableIOSPerformancePlus").boolValue = getDataCheckbox("iOSPerformancePlus");
|
||||
CompileOptions.FindPropertyRelative("enableiOSMetal").boolValue = getDataCheckbox("iOSMetal");
|
||||
CompileOptions.FindPropertyRelative("enableEmscriptenGLX").boolValue = getDataCheckbox("EmscriptenGLX");
|
||||
CompileOptions.FindPropertyRelative("fbslim").boolValue = getDataCheckbox("fbslim");
|
||||
|
||||
var SDKOptions = miniGameProperty.FindPropertyRelative("SDKOptions");
|
||||
SDKOptions.FindPropertyRelative("UseFriendRelation").boolValue = getDataCheckbox("useFriendRelation");
|
||||
SDKOptions.FindPropertyRelative("UseMiniGameChat").boolValue = getDataCheckbox("useMiniGameChat");
|
||||
SDKOptions.FindPropertyRelative("PreloadWXFont").boolValue = getDataCheckbox("preloadWXFont");
|
||||
SDKOptions.FindPropertyRelative("disableMultiTouch").boolValue = getDataCheckbox("disableMultiTouch");
|
||||
ProjectConf.FindPropertyRelative("bgImageSrc").stringValue = getDataInput("bgImageSrc");
|
||||
ProjectConf.FindPropertyRelative("MemorySize").intValue = int.Parse(getDataInput("memorySize"));
|
||||
ProjectConf.FindPropertyRelative("HideAfterCallMain").boolValue = getDataCheckbox("hideAfterCallMain");
|
||||
ProjectConf.FindPropertyRelative("dataFileSubPrefix").stringValue = getDataInput("dataFileSubPrefix");
|
||||
ProjectConf.FindPropertyRelative("maxStorage").intValue = int.Parse(getDataInput("maxStorage"));
|
||||
ProjectConf.FindPropertyRelative("defaultReleaseSize").intValue = int.Parse(getDataInput("defaultReleaseSize"));
|
||||
ProjectConf.FindPropertyRelative("texturesHashLength").intValue = int.Parse(getDataInput("texturesHashLength"));
|
||||
ProjectConf.FindPropertyRelative("texturesPath").stringValue = getDataInput("texturesPath");
|
||||
ProjectConf.FindPropertyRelative("needCacheTextures").boolValue = getDataCheckbox("needCacheTextures");
|
||||
ProjectConf.FindPropertyRelative("loadingBarWidth").intValue = int.Parse(getDataInput("loadingBarWidth"));
|
||||
ProjectConf.FindPropertyRelative("needCheckUpdate").boolValue = getDataCheckbox("needCheckUpdate");
|
||||
ProjectConf.FindPropertyRelative("disableHighPerformanceFallback").boolValue = getDataCheckbox("disableHighPerformanceFallback");
|
||||
CompileOptions.FindPropertyRelative("autoAdaptScreen").boolValue = getDataCheckbox("autoAdaptScreen");
|
||||
CompileOptions.FindPropertyRelative("showMonitorSuggestModal").boolValue = getDataCheckbox("showMonitorSuggestModal");
|
||||
CompileOptions.FindPropertyRelative("enableProfileStats").boolValue = getDataCheckbox("enableProfileStats");
|
||||
CompileOptions.FindPropertyRelative("enableRenderAnalysis").boolValue = getDataCheckbox("enableRenderAnalysis");
|
||||
CompileOptions.FindPropertyRelative("brotliMT").boolValue = getDataCheckbox("brotliMT");
|
||||
|
||||
// font options
|
||||
var FontOptions = miniGameProperty.FindPropertyRelative("FontOptions");
|
||||
FontOptions.FindPropertyRelative("CJK_Unified_Ideographs").boolValue = getDataCheckbox("CJK_Unified_Ideographs");
|
||||
FontOptions.FindPropertyRelative("C0_Controls_and_Basic_Latin").boolValue = getDataCheckbox("C0_Controls_and_Basic_Latin");
|
||||
FontOptions.FindPropertyRelative("CJK_Symbols_and_Punctuation").boolValue = getDataCheckbox("CJK_Symbols_and_Punctuation");
|
||||
FontOptions.FindPropertyRelative("General_Punctuation").boolValue = getDataCheckbox("General_Punctuation");
|
||||
FontOptions.FindPropertyRelative("Enclosed_CJK_Letters_and_Months").boolValue = getDataCheckbox("Enclosed_CJK_Letters_and_Months");
|
||||
FontOptions.FindPropertyRelative("Vertical_Forms").boolValue = getDataCheckbox("Vertical_Forms");
|
||||
FontOptions.FindPropertyRelative("CJK_Compatibility_Forms").boolValue = getDataCheckbox("CJK_Compatibility_Forms");
|
||||
FontOptions.FindPropertyRelative("Miscellaneous_Symbols").boolValue = getDataCheckbox("Miscellaneous_Symbols");
|
||||
FontOptions.FindPropertyRelative("CJK_Compatibility").boolValue = getDataCheckbox("CJK_Compatibility");
|
||||
FontOptions.FindPropertyRelative("Halfwidth_and_Fullwidth_Forms").boolValue = getDataCheckbox("Halfwidth_and_Fullwidth_Forms");
|
||||
FontOptions.FindPropertyRelative("Dingbats").boolValue = getDataCheckbox("Dingbats");
|
||||
FontOptions.FindPropertyRelative("Letterlike_Symbols").boolValue = getDataCheckbox("Letterlike_Symbols");
|
||||
FontOptions.FindPropertyRelative("Enclosed_Alphanumerics").boolValue = getDataCheckbox("Enclosed_Alphanumerics");
|
||||
FontOptions.FindPropertyRelative("Number_Forms").boolValue = getDataCheckbox("Number_Forms");
|
||||
FontOptions.FindPropertyRelative("Currency_Symbols").boolValue = getDataCheckbox("Currency_Symbols");
|
||||
FontOptions.FindPropertyRelative("Arrows").boolValue = getDataCheckbox("Arrows");
|
||||
FontOptions.FindPropertyRelative("Geometric_Shapes").boolValue = getDataCheckbox("Geometric_Shapes");
|
||||
FontOptions.FindPropertyRelative("Mathematical_Operators").boolValue = getDataCheckbox("Mathematical_Operators");
|
||||
FontOptions.FindPropertyRelative("CustomUnicode").stringValue = getDataInput("CustomUnicode");
|
||||
FontOptions.FindPropertyRelative("Arrows").boolValue = getDataCheckbox("Arrows");
|
||||
FontOptions.FindPropertyRelative("Geometric_Shapes").boolValue = getDataCheckbox("Geometric_Shapes");
|
||||
FontOptions.FindPropertyRelative("Mathematical_Operators").boolValue = getDataCheckbox("Mathematical_Operators");
|
||||
FontOptions.FindPropertyRelative("CustomUnicode").stringValue = getDataInput("CustomUnicode");
|
||||
|
||||
miniGameProperty.FindPropertyRelative("m_AutomaticFillInstantGame").boolValue = getDataCheckbox("m_AutomaticFillInstantGame");
|
||||
|
||||
serializedObject.ApplyModifiedProperties();
|
||||
}
|
||||
|
||||
private bool getDataCheckbox(string target)
|
||||
{
|
||||
if (formCheckboxData.ContainsKey(target))
|
||||
return formCheckboxData[target];
|
||||
return false;
|
||||
}
|
||||
|
||||
private string getDataInput(string target)
|
||||
{
|
||||
if (formInputData.ContainsKey(target))
|
||||
return formInputData[target];
|
||||
return "";
|
||||
}
|
||||
|
||||
private int getDataPop(string target)
|
||||
{
|
||||
if (formIntPopupData.ContainsKey(target))
|
||||
return formIntPopupData[target];
|
||||
return 0;
|
||||
}
|
||||
|
||||
private void setData(string target, string value)
|
||||
{
|
||||
if (formInputData.ContainsKey(target))
|
||||
{
|
||||
formInputData[target] = value;
|
||||
}
|
||||
else
|
||||
{
|
||||
formInputData.Add(target, value);
|
||||
}
|
||||
}
|
||||
|
||||
private void setData(string target, bool value)
|
||||
{
|
||||
if (formCheckboxData.ContainsKey(target))
|
||||
{
|
||||
formCheckboxData[target] = value;
|
||||
}
|
||||
else
|
||||
{
|
||||
formCheckboxData.Add(target, value);
|
||||
}
|
||||
}
|
||||
|
||||
private void setData(string target, int value)
|
||||
{
|
||||
if (formIntPopupData.ContainsKey(target))
|
||||
{
|
||||
formIntPopupData[target] = value;
|
||||
}
|
||||
else
|
||||
{
|
||||
formIntPopupData.Add(target, value);
|
||||
}
|
||||
}
|
||||
|
||||
private void formInput(string target, string label, string help = null)
|
||||
{
|
||||
if (!formInputData.ContainsKey(target))
|
||||
{
|
||||
formInputData[target] = "";
|
||||
}
|
||||
GUILayout.BeginHorizontal();
|
||||
EditorGUILayout.LabelField(string.Empty, GUILayout.Width(10));
|
||||
if (help == null)
|
||||
{
|
||||
GUILayout.Label(label, GUILayout.Width(140));
|
||||
}
|
||||
else
|
||||
{
|
||||
GUILayout.Label(new GUIContent(label, help), GUILayout.Width(140));
|
||||
}
|
||||
formInputData[target] = GUILayout.TextField(formInputData[target], GUILayout.MaxWidth(EditorGUIUtility.currentViewWidth - 195));
|
||||
GUILayout.EndHorizontal();
|
||||
}
|
||||
|
||||
private void formCheckbox(string target, string label, string help = null, bool disable = false, Action<bool> setting = null)
|
||||
{
|
||||
if (!formCheckboxData.ContainsKey(target))
|
||||
{
|
||||
formCheckboxData[target] = false;
|
||||
}
|
||||
GUILayout.BeginHorizontal();
|
||||
EditorGUILayout.LabelField(string.Empty, GUILayout.Width(10));
|
||||
if (help == null)
|
||||
{
|
||||
GUILayout.Label(label, GUILayout.Width(140));
|
||||
}
|
||||
else
|
||||
{
|
||||
GUILayout.Label(new GUIContent(label, help), GUILayout.Width(140));
|
||||
}
|
||||
EditorGUI.BeginDisabledGroup(disable);
|
||||
formCheckboxData[target] = EditorGUILayout.Toggle(disable ? false : formCheckboxData[target]);
|
||||
|
||||
if (setting != null)
|
||||
{
|
||||
EditorGUILayout.LabelField("", GUILayout.Width(10));
|
||||
// <20><><EFBFBD>ð<EFBFBD>ť
|
||||
if (GUILayout.Button(new GUIContent("<22><><EFBFBD><EFBFBD>"), GUILayout.Width(40), GUILayout.Height(18)))
|
||||
{
|
||||
setting?.Invoke(true);
|
||||
}
|
||||
EditorGUILayout.LabelField("", GUILayout.MinWidth(10));
|
||||
}
|
||||
|
||||
EditorGUI.EndDisabledGroup();
|
||||
|
||||
if (setting == null)
|
||||
EditorGUILayout.LabelField(string.Empty);
|
||||
GUILayout.EndHorizontal();
|
||||
}
|
||||
|
||||
private void formIntPopup(string target, string label, string[] options, int[] values)
|
||||
{
|
||||
if (!formIntPopupData.ContainsKey(target))
|
||||
{
|
||||
formIntPopupData[target] = 0;
|
||||
}
|
||||
GUILayout.BeginHorizontal();
|
||||
EditorGUILayout.LabelField(string.Empty, GUILayout.Width(10));
|
||||
GUILayout.Label(label, GUILayout.Width(140));
|
||||
formIntPopupData[target] = EditorGUILayout.IntPopup(formIntPopupData[target], options, values, GUILayout.MaxWidth(EditorGUIUtility.currentViewWidth - 195));
|
||||
GUILayout.EndHorizontal();
|
||||
}
|
||||
|
||||
public static bool IsAbsolutePath(string path)
|
||||
{
|
||||
// 检查是否为空或空白
|
||||
if (string.IsNullOrWhiteSpace(path))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// 在 Windows 上,检查驱动器字母或网络路径
|
||||
if (Application.platform == RuntimePlatform.WindowsEditor && Path.IsPathRooted(path))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
// 在 Unix/Linux 和 macOS 上,检查是否以 '/' 开头
|
||||
if (Application.platform == RuntimePlatform.OSXEditor && path.StartsWith("/"))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false; // 否则为相对路径
|
||||
}
|
||||
|
||||
public static string GetAbsolutePath(string path)
|
||||
{
|
||||
if (IsAbsolutePath(path))
|
||||
{
|
||||
return path;
|
||||
}
|
||||
string projectRootPath = System.IO.Path.GetFullPath(Application.dataPath + "/../");
|
||||
return Path.Combine(projectRootPath, path);
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -34,8 +34,15 @@ namespace WeChatWASM
|
||||
if(UnityUtil.GetEngineVersion() == UnityUtil.EngineVersion.Tuanjie)
|
||||
{
|
||||
var absolutePath = Path.GetFullPath("Packages/com.qq.weixin.minigame/WebGLTemplates/WXTemplate2022TJ");
|
||||
if (!Directory.Exists(absolutePath))
|
||||
{
|
||||
PlayerSettings.WeixinMiniGame.template = $"{templateHeader}WXTemplate2022TJ";
|
||||
}
|
||||
else
|
||||
{
|
||||
PlayerSettings.WeixinMiniGame.template = $"PATH:{absolutePath}";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
PlayerSettings.WeixinMiniGame.template = $"{templateHeader}WXTemplate2022TJ";
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -107,6 +107,8 @@ namespace WeChatWASM
|
||||
#else
|
||||
WXExtEnvDef.SETDEF("PLATFORM_WEIXINMINIGAME", false);
|
||||
#endif
|
||||
// TODO: 根据实际Emscripten版本检测逻辑来设置此值,当前暂时hardcode为true
|
||||
WXExtEnvDef.SETDEF("UNITY_NEW_EMSCRIPTEN", true);
|
||||
RegisterController();
|
||||
}
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@ namespace WeChatWASM
|
||||
{
|
||||
public class WXPluginVersion
|
||||
{
|
||||
public static string pluginVersion = "202601131148"; // 这一行不要改他,导出的时候会自动替换
|
||||
public static string pluginVersion = "202603130254"; // 这一行不要改他,导出的时候会自动替换
|
||||
}
|
||||
|
||||
public class WXPluginConf
|
||||
|
||||
Binary file not shown.
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f847db20faa66610af5948c280c4a736
|
||||
guid: f28ad698909063047c117d2e6fea3231
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@ -4,6 +4,91 @@
|
||||
<name>wx-runtime-editor</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:WeChatWASM.GameProtect.Monitor.WXDataPluginExample">
|
||||
<summary>
|
||||
WX数据保护插件使用示例
|
||||
演示如何使用数据保护功能来保护游戏中的重要数值
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.GameProtect.Monitor.WXDataPluginExample.Example1_BasicUsage">
|
||||
<summary>
|
||||
示例1:基础用法 - 存储和读取数据
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.GameProtect.Monitor.WXDataPluginExample.Example2_SafeGet">
|
||||
<summary>
|
||||
示例2:安全获取数据(推荐方式)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.GameProtect.Monitor.WXDataPluginExample.Example3_ComplexObject">
|
||||
<summary>
|
||||
示例3:存储复杂对象
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.GameProtect.Monitor.WXDataPluginExample.Example4_DataManagement">
|
||||
<summary>
|
||||
示例4:数据管理
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.GameProtect.Monitor.WXDataPluginExample.OnDataTampered(System.Object,WeChatWASM.GameProtect.Monitor.WXDataProtectionEventArgs)">
|
||||
<summary>
|
||||
数据篡改事件处理
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.GameProtect.Monitor.WXDataPluginExample.HandleTampering(WeChatWASM.GameProtect.Monitor.WXDataProtectionEventArgs)">
|
||||
<summary>
|
||||
处理数据篡改
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:WeChatWASM.GameProtect.Monitor.PlayerStats">
|
||||
<summary>
|
||||
示例:玩家属性数据结构
|
||||
注意:使用 JsonUtility 序列化时,必须使用公共字段
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:WeChatWASM.GameProtect.Monitor.GameCurrencyManager">
|
||||
<summary>
|
||||
游戏货币管理器示例
|
||||
封装常用的货币操作,简化调用
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.GameProtect.Monitor.GameCurrencyManager.Init(System.Int32,System.Int32)">
|
||||
<summary>
|
||||
初始化货币数据
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.GameProtect.Monitor.GameCurrencyManager.GetCoins">
|
||||
<summary>
|
||||
获取金币数量
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.GameProtect.Monitor.GameCurrencyManager.AddCoins(System.Int32)">
|
||||
<summary>
|
||||
增加金币
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.GameProtect.Monitor.GameCurrencyManager.SpendCoins(System.Int32)">
|
||||
<summary>
|
||||
消费金币
|
||||
</summary>
|
||||
<returns>是否消费成功</returns>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.GameProtect.Monitor.GameCurrencyManager.GetDiamonds">
|
||||
<summary>
|
||||
获取钻石数量
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.GameProtect.Monitor.GameCurrencyManager.AddDiamonds(System.Int32)">
|
||||
<summary>
|
||||
增加钻石
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.GameProtect.Monitor.GameCurrencyManager.SpendDiamonds(System.Int32)">
|
||||
<summary>
|
||||
消费钻石
|
||||
</summary>
|
||||
<returns>是否消费成功</returns>
|
||||
</member>
|
||||
<member name="T:WeChatWASM.WXBannerAd">
|
||||
<summary>
|
||||
Banner 广告,详见 https://developers.weixin.qq.com/minigame/dev/guide/open-ability/ad/banner-ad.html
|
||||
@ -3119,6 +3204,36 @@
|
||||
是否结束
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.ReportGameEventOption.eventId">
|
||||
<summary>
|
||||
事件ID,开发者自行维护(必需)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.ReportGameEventOption.costTime">
|
||||
<summary>
|
||||
事件耗时,单位ms(可选)不填时为0
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.ReportGameEventOption.result">
|
||||
<summary>
|
||||
事件结果,默认成功(可选)不填时默认成功
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:WeChatWASM.ReportGameEventResult">
|
||||
<summary>
|
||||
reportGameEvent的事件类型
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.ReportGameEventResult.Success">
|
||||
<summary>
|
||||
成功事件
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.ReportGameEventResult.Fail">
|
||||
<summary>
|
||||
失败事件
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.PageManagerCallbackResult.errCode">
|
||||
<summary>
|
||||
错误码,文档可见 https://developers.weixin.qq.com/minigame/dev/api/open-api/openlink/wx.createPageManager.html
|
||||
@ -3295,7 +3410,7 @@
|
||||
需要基础库: `2.10.0`
|
||||
小程序版本
|
||||
可选值:
|
||||
- 'develop': 开发版;
|
||||
- 'develop': 开发版,提交代码审核时默认使用开发版进行审核。;
|
||||
- 'trial': 体验版;
|
||||
- 'release': 正式版;
|
||||
</summary>
|
||||
@ -3371,6 +3486,11 @@
|
||||
允许微信读写日历的开关
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.AppBaseInfo.PCKernelVersion">
|
||||
<summary>
|
||||
PC 内核版本号,仅在 PC 端存在该值
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.AppBaseInfo.SDKVersion">
|
||||
<summary>
|
||||
客户端基础库版本
|
||||
@ -3473,6 +3593,14 @@
|
||||
<member name="F:WeChatWASM.DeviceInfo.platform">
|
||||
<summary>
|
||||
客户端平台
|
||||
可选值:
|
||||
- 'ios': iOS微信(包含 iPhone、iPad);
|
||||
- 'android': Android微信;
|
||||
- 'ohos': HarmonyOS 手机端微信;
|
||||
- 'ohos_pc': HarmonyOS PC微信;
|
||||
- 'windows': Windows微信;
|
||||
- 'mac': macOS微信;
|
||||
- 'devtools': 微信开发者工具;
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.DeviceInfo.system">
|
||||
@ -3480,6 +3608,16 @@
|
||||
操作系统及版本
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.DirectAdStatusInfo.isInDirectGameAd">
|
||||
<summary>
|
||||
当前是否处于直接广告中
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.DirectAdStatusInfo.isInMask">
|
||||
<summary>
|
||||
当前是否处于蒙层阶段
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.EnterOptionsGame.apiCategory">
|
||||
<summary>
|
||||
需要基础库: `2.20.0`
|
||||
@ -3546,6 +3684,11 @@
|
||||
直播间 id
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.LaunchOptionsGame.hostExtraData">
|
||||
<summary>
|
||||
宿主传递的数据,第三方 app 中运行小游戏时返回
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.LaunchOptionsGame.query">
|
||||
<summary>
|
||||
启动小游戏的 query 参数
|
||||
@ -3576,6 +3719,11 @@
|
||||
shareTicket,详见[获取更多转发信息](#)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.HostExtraData.host_scene">
|
||||
<summary>
|
||||
宿主app对应的场景值
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.ClientRect.bottom">
|
||||
<summary>
|
||||
下边界坐标,单位:px
|
||||
@ -3606,11 +3754,86 @@
|
||||
宽度,单位: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>
|
||||
组件的布局位置信息
|
||||
@ -3626,6 +3849,46 @@
|
||||
组件的名称
|
||||
</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
|
||||
@ -3772,7 +4035,8 @@
|
||||
可选值:
|
||||
- 'ios': iOS微信(包含 iPhone、iPad);
|
||||
- 'android': Android微信;
|
||||
- 'ohos': HarmonyOS微信;
|
||||
- 'ohos': HarmonyOS 手机端微信;
|
||||
- 'ohos_pc': HarmonyOS PC微信;
|
||||
- 'windows': Windows微信;
|
||||
- 'mac': macOS微信;
|
||||
- 'devtools': 微信开发者工具;
|
||||
@ -4427,6 +4691,36 @@
|
||||
是否被添加至 「我的小程序」
|
||||
</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>
|
||||
最多可以选择的图片张数
|
||||
@ -5595,22 +5889,22 @@
|
||||
预告状态:0可用 1取消 2已用
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.GetChatToolInfoSuccessCallbackResult.cloudID">
|
||||
<member name="F:WeChatWASM.RequestMidasFriendPaymentSuccessCallbackResult.cloudID">
|
||||
<summary>
|
||||
敏感数据对应的云 ID,开通[云开发](https://developers.weixin.qq.com/minigame/dev/wxcloud/basis/getting-started.html)的小程序才会返回,可通过云调用直接获取开放数据,详细见[云调用直接获取开放数据](https://developers.weixin.qq.com/minigame/dev/guide/open-ability/signature.html#method-cloud)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.GetChatToolInfoSuccessCallbackResult.encryptedData">
|
||||
<member name="F:WeChatWASM.RequestMidasFriendPaymentSuccessCallbackResult.encryptedData">
|
||||
<summary>
|
||||
包括敏感数据在内的完整转发信息的加密数据,详细见[加密数据解密算法](https://developers.weixin.qq.com/minigame/dev/guide/open-ability/signature.html)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.GetChatToolInfoSuccessCallbackResult.errMsg">
|
||||
<member name="F:WeChatWASM.RequestMidasFriendPaymentSuccessCallbackResult.errMsg">
|
||||
<summary>
|
||||
错误信息
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.GetChatToolInfoSuccessCallbackResult.iv">
|
||||
<member name="F:WeChatWASM.RequestMidasFriendPaymentSuccessCallbackResult.iv">
|
||||
<summary>
|
||||
加密算法的初始向量,详细见[加密数据解密算法](https://developers.weixin.qq.com/minigame/dev/guide/open-ability/signature.html)
|
||||
</summary>
|
||||
@ -5705,6 +5999,21 @@
|
||||
实验参数数组,不填则获取所有实验参数
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.GameExptInfo.expt_id">
|
||||
<summary>
|
||||
实验ID,标识实验
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.GameExptInfo.param_name">
|
||||
<summary>
|
||||
参数名称
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.GameExptInfo.param_value">
|
||||
<summary>
|
||||
参数值
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.GetGroupEnterInfoOption.allowSingleChat">
|
||||
<summary>
|
||||
需要基础库: `3.7.8`
|
||||
@ -5826,6 +6135,67 @@
|
||||
本机局域网子网掩码,基础库 2.24.0 开始支持
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.GetLocationOption.altitude">
|
||||
<summary>
|
||||
需要基础库: `1.6.0`
|
||||
传入 true 会返回高度信息,由于获取高度需要较高精确度,会减慢接口返回速度
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.GetLocationOption.highAccuracyExpireTime">
|
||||
<summary>
|
||||
需要基础库: `2.9.0`
|
||||
高精度定位超时时间(ms),指定时间内返回最高精度,该值3000ms以上高精度定位才有效果
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.GetLocationOption.isHighAccuracy">
|
||||
<summary>
|
||||
需要基础库: `2.9.0`
|
||||
开启高精度定位
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.GetLocationOption.type">
|
||||
<summary>
|
||||
wgs84 返回 gps 坐标,gcj02 返回可用于 wx.openLocation 的坐标
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.GetLocationSuccessCallbackResult.accuracy">
|
||||
<summary>
|
||||
位置的精确度,反应与真实位置之间的接近程度,可以理解成10即与真实位置相差10m,越小越精确
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.GetLocationSuccessCallbackResult.altitude">
|
||||
<summary>
|
||||
需要基础库: `1.2.0`
|
||||
高度,单位 m
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.GetLocationSuccessCallbackResult.horizontalAccuracy">
|
||||
<summary>
|
||||
需要基础库: `1.2.0`
|
||||
水平精度,单位 m
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.GetLocationSuccessCallbackResult.latitude">
|
||||
<summary>
|
||||
纬度,范围为 -90~90,负数表示南纬
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.GetLocationSuccessCallbackResult.longitude">
|
||||
<summary>
|
||||
经度,范围为 -180~180,负数表示西经
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.GetLocationSuccessCallbackResult.speed">
|
||||
<summary>
|
||||
速度,单位 m/s
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.GetLocationSuccessCallbackResult.verticalAccuracy">
|
||||
<summary>
|
||||
需要基础库: `1.2.0`
|
||||
垂直精度,单位 m(Android 无法获取,返回 0)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.GetNetworkTypeSuccessCallbackResult.hasSystemProxy">
|
||||
<summary>
|
||||
需要基础库: `2.22.1`
|
||||
@ -5941,6 +6311,17 @@
|
||||
- itemSettings 只返回用户勾选过订阅面板中的“总是保持以上选择,不再询问”的订阅消息。
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.GetShareInfoOption.shareTicket">
|
||||
<summary>
|
||||
shareTicket,详见[获取更多转发信息](#)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.GetShareInfoOption.timeout">
|
||||
<summary>
|
||||
需要基础库: `1.9.90`
|
||||
超时时间,单位 ms
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.GetShowSplashAdStatusSuccessCallbackResult.code">
|
||||
<summary>
|
||||
封面广告组件展示状态码
|
||||
@ -6487,6 +6868,11 @@
|
||||
用短链打开小程序时当前页面携带的查询字符串。小程序中使用时,应在进入页面时调用 `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)。逆时针转动为正。
|
||||
@ -6510,6 +6896,21 @@
|
||||
- 'landscapeReverse': 横屏反方向,以 HOME 键在屏幕左侧为反方向;
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.OnDirectAdStatusChangeListenerResult.isEndByAbnormal">
|
||||
<summary>
|
||||
当前直玩广告是否由于异常流程而结束(如 下拉/搜索 进入正在直玩广告流程中的游戏)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.OnDirectAdStatusChangeListenerResult.isInDirectGameAd">
|
||||
<summary>
|
||||
当前是否处于直接广告中
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.OnDirectAdStatusChangeListenerResult.isInMask">
|
||||
<summary>
|
||||
当前是否处于蒙层阶段
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.ListenerError.message">
|
||||
<summary>
|
||||
错误信息,包含堆栈
|
||||
@ -6905,7 +7306,7 @@
|
||||
</member>
|
||||
<member name="F:WeChatWASM.OpenChannelsUserProfileOption.finderUserName">
|
||||
<summary>
|
||||
视频号 id
|
||||
视频号id(参考格式为:sphcqO59YEPCvoe;查看路径为:微信客户端->我tab->视频号->右上角.->视频号名字-视频号ID)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.OpenChatToolOption.chatType">
|
||||
@ -7225,6 +7626,53 @@
|
||||
自定义维度,基础库 v2.14.0 开始支持可选
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.FacialRecognitionError.errMsg">
|
||||
<summary>
|
||||
错误信息
|
||||
| 错误码 | 错误信息 | 说明 |
|
||||
| - | - | - |
|
||||
| 0 | 人脸识别成功 | |
|
||||
| 2002004 | 人脸识别失败 | |
|
||||
| 2002006 | 用户取消/超时/不同意,导致未完成人脸识别 | |
|
||||
| 2002007 | 本用户7天内人脸识别已通过,通过日期为XX | |
|
||||
| 2002008 | 本日已调起过人脸识别或者本月调用次数已达上限 | |
|
||||
| 2002009 | 无权限发起人脸识别 | |
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.FacialRecognitionError.errCode">
|
||||
<summary>
|
||||
错误码
|
||||
| 错误码 | 错误信息 | 说明 |
|
||||
| - | - | - |
|
||||
| 0 | 人脸识别成功 | |
|
||||
| 2002004 | 人脸识别失败 | |
|
||||
| 2002006 | 用户取消/超时/不同意,导致未完成人脸识别 | |
|
||||
| 2002007 | 本用户7天内人脸识别已通过,通过日期为XX | |
|
||||
| 2002008 | 本日已调起过人脸识别或者本月调用次数已达上限 | |
|
||||
| 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限制说明)。
|
||||
@ -7610,7 +8058,7 @@
|
||||
</member>
|
||||
<member name="F:WeChatWASM.SetBackgroundFetchTokenOption.token">
|
||||
<summary>
|
||||
自定义的登录态
|
||||
自定义的登录态。上限 1024 字符。
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.SetClipboardDataOption.data">
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 86cfe097f9cce0b88db9414b86df4ed1
|
||||
guid: 625380e1add3a3e297bf7ab65038a313
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
Binary file not shown.
@ -4,12 +4,91 @@
|
||||
<name>wx-runtime</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:PlayerPrefs">
|
||||
<member name="T:WeChatWASM.GameProtect.Monitor.WXDataPluginExample">
|
||||
<summary>
|
||||
覆盖unity的PlayerPrefs
|
||||
注意:调用均为同步调用, 容易阻塞游戏主线程造成卡顿,不建议频繁调用
|
||||
WX数据保护插件使用示例
|
||||
演示如何使用数据保护功能来保护游戏中的重要数值
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.GameProtect.Monitor.WXDataPluginExample.Example1_BasicUsage">
|
||||
<summary>
|
||||
示例1:基础用法 - 存储和读取数据
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.GameProtect.Monitor.WXDataPluginExample.Example2_SafeGet">
|
||||
<summary>
|
||||
示例2:安全获取数据(推荐方式)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.GameProtect.Monitor.WXDataPluginExample.Example3_ComplexObject">
|
||||
<summary>
|
||||
示例3:存储复杂对象
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.GameProtect.Monitor.WXDataPluginExample.Example4_DataManagement">
|
||||
<summary>
|
||||
示例4:数据管理
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.GameProtect.Monitor.WXDataPluginExample.OnDataTampered(System.Object,WeChatWASM.GameProtect.Monitor.WXDataProtectionEventArgs)">
|
||||
<summary>
|
||||
数据篡改事件处理
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.GameProtect.Monitor.WXDataPluginExample.HandleTampering(WeChatWASM.GameProtect.Monitor.WXDataProtectionEventArgs)">
|
||||
<summary>
|
||||
处理数据篡改
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:WeChatWASM.GameProtect.Monitor.PlayerStats">
|
||||
<summary>
|
||||
示例:玩家属性数据结构
|
||||
注意:使用 JsonUtility 序列化时,必须使用公共字段
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:WeChatWASM.GameProtect.Monitor.GameCurrencyManager">
|
||||
<summary>
|
||||
游戏货币管理器示例
|
||||
封装常用的货币操作,简化调用
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.GameProtect.Monitor.GameCurrencyManager.Init(System.Int32,System.Int32)">
|
||||
<summary>
|
||||
初始化货币数据
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.GameProtect.Monitor.GameCurrencyManager.GetCoins">
|
||||
<summary>
|
||||
获取金币数量
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.GameProtect.Monitor.GameCurrencyManager.AddCoins(System.Int32)">
|
||||
<summary>
|
||||
增加金币
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.GameProtect.Monitor.GameCurrencyManager.SpendCoins(System.Int32)">
|
||||
<summary>
|
||||
消费金币
|
||||
</summary>
|
||||
<returns>是否消费成功</returns>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.GameProtect.Monitor.GameCurrencyManager.GetDiamonds">
|
||||
<summary>
|
||||
获取钻石数量
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.GameProtect.Monitor.GameCurrencyManager.AddDiamonds(System.Int32)">
|
||||
<summary>
|
||||
增加钻石
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.GameProtect.Monitor.GameCurrencyManager.SpendDiamonds(System.Int32)">
|
||||
<summary>
|
||||
消费钻石
|
||||
</summary>
|
||||
<returns>是否消费成功</returns>
|
||||
</member>
|
||||
<member name="T:WeChatWASM.WXBannerAd">
|
||||
<summary>
|
||||
Banner 广告,详见 https://developers.weixin.qq.com/minigame/dev/guide/open-ability/ad/banner-ad.html
|
||||
@ -3125,6 +3204,36 @@
|
||||
是否结束
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.ReportGameEventOption.eventId">
|
||||
<summary>
|
||||
事件ID,开发者自行维护(必需)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.ReportGameEventOption.costTime">
|
||||
<summary>
|
||||
事件耗时,单位ms(可选)不填时为0
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.ReportGameEventOption.result">
|
||||
<summary>
|
||||
事件结果,默认成功(可选)不填时默认成功
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:WeChatWASM.ReportGameEventResult">
|
||||
<summary>
|
||||
reportGameEvent的事件类型
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.ReportGameEventResult.Success">
|
||||
<summary>
|
||||
成功事件
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.ReportGameEventResult.Fail">
|
||||
<summary>
|
||||
失败事件
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.PageManagerCallbackResult.errCode">
|
||||
<summary>
|
||||
错误码,文档可见 https://developers.weixin.qq.com/minigame/dev/api/open-api/openlink/wx.createPageManager.html
|
||||
@ -3301,7 +3410,7 @@
|
||||
需要基础库: `2.10.0`
|
||||
小程序版本
|
||||
可选值:
|
||||
- 'develop': 开发版;
|
||||
- 'develop': 开发版,提交代码审核时默认使用开发版进行审核。;
|
||||
- 'trial': 体验版;
|
||||
- 'release': 正式版;
|
||||
</summary>
|
||||
@ -3377,6 +3486,11 @@
|
||||
允许微信读写日历的开关
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.AppBaseInfo.PCKernelVersion">
|
||||
<summary>
|
||||
PC 内核版本号,仅在 PC 端存在该值
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.AppBaseInfo.SDKVersion">
|
||||
<summary>
|
||||
客户端基础库版本
|
||||
@ -3479,6 +3593,14 @@
|
||||
<member name="F:WeChatWASM.DeviceInfo.platform">
|
||||
<summary>
|
||||
客户端平台
|
||||
可选值:
|
||||
- 'ios': iOS微信(包含 iPhone、iPad);
|
||||
- 'android': Android微信;
|
||||
- 'ohos': HarmonyOS 手机端微信;
|
||||
- 'ohos_pc': HarmonyOS PC微信;
|
||||
- 'windows': Windows微信;
|
||||
- 'mac': macOS微信;
|
||||
- 'devtools': 微信开发者工具;
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.DeviceInfo.system">
|
||||
@ -3486,6 +3608,16 @@
|
||||
操作系统及版本
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.DirectAdStatusInfo.isInDirectGameAd">
|
||||
<summary>
|
||||
当前是否处于直接广告中
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.DirectAdStatusInfo.isInMask">
|
||||
<summary>
|
||||
当前是否处于蒙层阶段
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.EnterOptionsGame.apiCategory">
|
||||
<summary>
|
||||
需要基础库: `2.20.0`
|
||||
@ -3552,6 +3684,11 @@
|
||||
直播间 id
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.LaunchOptionsGame.hostExtraData">
|
||||
<summary>
|
||||
宿主传递的数据,第三方 app 中运行小游戏时返回
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.LaunchOptionsGame.query">
|
||||
<summary>
|
||||
启动小游戏的 query 参数
|
||||
@ -3582,6 +3719,11 @@
|
||||
shareTicket,详见[获取更多转发信息](#)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.HostExtraData.host_scene">
|
||||
<summary>
|
||||
宿主app对应的场景值
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.ClientRect.bottom">
|
||||
<summary>
|
||||
下边界坐标,单位:px
|
||||
@ -3612,11 +3754,86 @@
|
||||
宽度,单位: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>
|
||||
组件的布局位置信息
|
||||
@ -3632,6 +3849,46 @@
|
||||
组件的名称
|
||||
</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
|
||||
@ -3778,7 +4035,8 @@
|
||||
可选值:
|
||||
- 'ios': iOS微信(包含 iPhone、iPad);
|
||||
- 'android': Android微信;
|
||||
- 'ohos': HarmonyOS微信;
|
||||
- 'ohos': HarmonyOS 手机端微信;
|
||||
- 'ohos_pc': HarmonyOS PC微信;
|
||||
- 'windows': Windows微信;
|
||||
- 'mac': macOS微信;
|
||||
- 'devtools': 微信开发者工具;
|
||||
@ -4433,6 +4691,36 @@
|
||||
是否被添加至 「我的小程序」
|
||||
</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>
|
||||
最多可以选择的图片张数
|
||||
@ -5601,22 +5889,22 @@
|
||||
预告状态:0可用 1取消 2已用
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.GetChatToolInfoSuccessCallbackResult.cloudID">
|
||||
<member name="F:WeChatWASM.RequestMidasFriendPaymentSuccessCallbackResult.cloudID">
|
||||
<summary>
|
||||
敏感数据对应的云 ID,开通[云开发](https://developers.weixin.qq.com/minigame/dev/wxcloud/basis/getting-started.html)的小程序才会返回,可通过云调用直接获取开放数据,详细见[云调用直接获取开放数据](https://developers.weixin.qq.com/minigame/dev/guide/open-ability/signature.html#method-cloud)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.GetChatToolInfoSuccessCallbackResult.encryptedData">
|
||||
<member name="F:WeChatWASM.RequestMidasFriendPaymentSuccessCallbackResult.encryptedData">
|
||||
<summary>
|
||||
包括敏感数据在内的完整转发信息的加密数据,详细见[加密数据解密算法](https://developers.weixin.qq.com/minigame/dev/guide/open-ability/signature.html)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.GetChatToolInfoSuccessCallbackResult.errMsg">
|
||||
<member name="F:WeChatWASM.RequestMidasFriendPaymentSuccessCallbackResult.errMsg">
|
||||
<summary>
|
||||
错误信息
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.GetChatToolInfoSuccessCallbackResult.iv">
|
||||
<member name="F:WeChatWASM.RequestMidasFriendPaymentSuccessCallbackResult.iv">
|
||||
<summary>
|
||||
加密算法的初始向量,详细见[加密数据解密算法](https://developers.weixin.qq.com/minigame/dev/guide/open-ability/signature.html)
|
||||
</summary>
|
||||
@ -5711,6 +5999,21 @@
|
||||
实验参数数组,不填则获取所有实验参数
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.GameExptInfo.expt_id">
|
||||
<summary>
|
||||
实验ID,标识实验
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.GameExptInfo.param_name">
|
||||
<summary>
|
||||
参数名称
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.GameExptInfo.param_value">
|
||||
<summary>
|
||||
参数值
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.GetGroupEnterInfoOption.allowSingleChat">
|
||||
<summary>
|
||||
需要基础库: `3.7.8`
|
||||
@ -5832,6 +6135,67 @@
|
||||
本机局域网子网掩码,基础库 2.24.0 开始支持
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.GetLocationOption.altitude">
|
||||
<summary>
|
||||
需要基础库: `1.6.0`
|
||||
传入 true 会返回高度信息,由于获取高度需要较高精确度,会减慢接口返回速度
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.GetLocationOption.highAccuracyExpireTime">
|
||||
<summary>
|
||||
需要基础库: `2.9.0`
|
||||
高精度定位超时时间(ms),指定时间内返回最高精度,该值3000ms以上高精度定位才有效果
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.GetLocationOption.isHighAccuracy">
|
||||
<summary>
|
||||
需要基础库: `2.9.0`
|
||||
开启高精度定位
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.GetLocationOption.type">
|
||||
<summary>
|
||||
wgs84 返回 gps 坐标,gcj02 返回可用于 wx.openLocation 的坐标
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.GetLocationSuccessCallbackResult.accuracy">
|
||||
<summary>
|
||||
位置的精确度,反应与真实位置之间的接近程度,可以理解成10即与真实位置相差10m,越小越精确
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.GetLocationSuccessCallbackResult.altitude">
|
||||
<summary>
|
||||
需要基础库: `1.2.0`
|
||||
高度,单位 m
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.GetLocationSuccessCallbackResult.horizontalAccuracy">
|
||||
<summary>
|
||||
需要基础库: `1.2.0`
|
||||
水平精度,单位 m
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.GetLocationSuccessCallbackResult.latitude">
|
||||
<summary>
|
||||
纬度,范围为 -90~90,负数表示南纬
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.GetLocationSuccessCallbackResult.longitude">
|
||||
<summary>
|
||||
经度,范围为 -180~180,负数表示西经
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.GetLocationSuccessCallbackResult.speed">
|
||||
<summary>
|
||||
速度,单位 m/s
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.GetLocationSuccessCallbackResult.verticalAccuracy">
|
||||
<summary>
|
||||
需要基础库: `1.2.0`
|
||||
垂直精度,单位 m(Android 无法获取,返回 0)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.GetNetworkTypeSuccessCallbackResult.hasSystemProxy">
|
||||
<summary>
|
||||
需要基础库: `2.22.1`
|
||||
@ -5947,6 +6311,17 @@
|
||||
- itemSettings 只返回用户勾选过订阅面板中的“总是保持以上选择,不再询问”的订阅消息。
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.GetShareInfoOption.shareTicket">
|
||||
<summary>
|
||||
shareTicket,详见[获取更多转发信息](#)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.GetShareInfoOption.timeout">
|
||||
<summary>
|
||||
需要基础库: `1.9.90`
|
||||
超时时间,单位 ms
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.GetShowSplashAdStatusSuccessCallbackResult.code">
|
||||
<summary>
|
||||
封面广告组件展示状态码
|
||||
@ -6493,6 +6868,11 @@
|
||||
用短链打开小程序时当前页面携带的查询字符串。小程序中使用时,应在进入页面时调用 `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)。逆时针转动为正。
|
||||
@ -6516,6 +6896,21 @@
|
||||
- 'landscapeReverse': 横屏反方向,以 HOME 键在屏幕左侧为反方向;
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.OnDirectAdStatusChangeListenerResult.isEndByAbnormal">
|
||||
<summary>
|
||||
当前直玩广告是否由于异常流程而结束(如 下拉/搜索 进入正在直玩广告流程中的游戏)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.OnDirectAdStatusChangeListenerResult.isInDirectGameAd">
|
||||
<summary>
|
||||
当前是否处于直接广告中
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.OnDirectAdStatusChangeListenerResult.isInMask">
|
||||
<summary>
|
||||
当前是否处于蒙层阶段
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.ListenerError.message">
|
||||
<summary>
|
||||
错误信息,包含堆栈
|
||||
@ -6911,7 +7306,7 @@
|
||||
</member>
|
||||
<member name="F:WeChatWASM.OpenChannelsUserProfileOption.finderUserName">
|
||||
<summary>
|
||||
视频号 id
|
||||
视频号id(参考格式为:sphcqO59YEPCvoe;查看路径为:微信客户端->我tab->视频号->右上角.->视频号名字-视频号ID)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.OpenChatToolOption.chatType">
|
||||
@ -7231,6 +7626,53 @@
|
||||
自定义维度,基础库 v2.14.0 开始支持可选
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.FacialRecognitionError.errMsg">
|
||||
<summary>
|
||||
错误信息
|
||||
| 错误码 | 错误信息 | 说明 |
|
||||
| - | - | - |
|
||||
| 0 | 人脸识别成功 | |
|
||||
| 2002004 | 人脸识别失败 | |
|
||||
| 2002006 | 用户取消/超时/不同意,导致未完成人脸识别 | |
|
||||
| 2002007 | 本用户7天内人脸识别已通过,通过日期为XX | |
|
||||
| 2002008 | 本日已调起过人脸识别或者本月调用次数已达上限 | |
|
||||
| 2002009 | 无权限发起人脸识别 | |
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.FacialRecognitionError.errCode">
|
||||
<summary>
|
||||
错误码
|
||||
| 错误码 | 错误信息 | 说明 |
|
||||
| - | - | - |
|
||||
| 0 | 人脸识别成功 | |
|
||||
| 2002004 | 人脸识别失败 | |
|
||||
| 2002006 | 用户取消/超时/不同意,导致未完成人脸识别 | |
|
||||
| 2002007 | 本用户7天内人脸识别已通过,通过日期为XX | |
|
||||
| 2002008 | 本日已调起过人脸识别或者本月调用次数已达上限 | |
|
||||
| 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限制说明)。
|
||||
@ -7616,7 +8058,7 @@
|
||||
</member>
|
||||
<member name="F:WeChatWASM.SetBackgroundFetchTokenOption.token">
|
||||
<summary>
|
||||
自定义的登录态
|
||||
自定义的登录态。上限 1024 字符。
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.SetClipboardDataOption.data">
|
||||
@ -9125,5 +9567,11 @@
|
||||
注册监听录制事件的回调函数。当对应事件触发时,回调函数会被执行
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:PlayerPrefs">
|
||||
<summary>
|
||||
覆盖unity的PlayerPrefs
|
||||
注意:调用均为同步调用, 容易阻塞游戏主线程造成卡顿,不建议频繁调用
|
||||
</summary>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9a7c16358edeccc9e6507105d15b2cd3
|
||||
guid: 3166ccff8d439341f110770c595609f8
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
293
Runtime/WX.cs
293
Runtime/WX.cs
@ -107,6 +107,69 @@ 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 是否过期。
|
||||
@ -279,7 +342,7 @@ namespace WeChatWASM
|
||||
/// <summary>
|
||||
/// [wx.exitChatTool(Object object)](https://developers.weixin.qq.com/minigame/dev/api/chattool/wx.exitChatTool.html)
|
||||
/// 需要基础库: `3.7.12`
|
||||
/// 退出聊天工具模式
|
||||
/// 退出聊天工具开放能力模式
|
||||
/// </summary>
|
||||
public static void ExitChatTool(ExitChatToolOption callback)
|
||||
{
|
||||
@ -675,6 +738,7 @@ namespace WeChatWASM
|
||||
/// | 8 | 当天(自然日)赞官方贴子数 | 无需传入 | |
|
||||
/// | 9 | 当天(自然日)评论官方贴子数 | 无需传入 | |
|
||||
/// | 10 | 当天(自然日)发表到本圈子话题的贴子数 | 传入话题id,从mp-游戏圈话题管理处获取 | |
|
||||
/// | 11 | 用户最近一次推荐游戏时间 | 无需传入 | 秒级时间戳 | |
|
||||
/// **encryptedData 解密后得到的 GameClubData 的结构**
|
||||
/// | 属性 | 类型 | 说明 |
|
||||
/// | ------- | ------- | -------------------------------------- |
|
||||
@ -691,9 +755,22 @@ namespace WeChatWASM
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [wx.getGameExptInfo(Object object)](https://developers.weixin.qq.com/minigame/dev/api/data-analysis/wx.getGameExptInfo.html)
|
||||
/// [wx.getGameExptInfo(Object options)](https://developers.weixin.qq.com/minigame/dev/api/data-analysis/wx.getGameExptInfo.html)
|
||||
/// 需要基础库: `3.8.8`
|
||||
/// 给定实验参数数组,获取对应的实验参数值
|
||||
/// **示例代码**
|
||||
/// ```js
|
||||
/// wx.getGameExptInfo({
|
||||
/// keyList: ['experiment_key1', 'experiment_key2'],
|
||||
/// success(res) {
|
||||
/// res.list.forEach((expParam) => {
|
||||
/// console.log('实验ID:', expParam.expt_id);
|
||||
/// console.log('参数名:', expParam.param_name);
|
||||
/// console.log('参数值:', expParam.param_value);
|
||||
/// })
|
||||
/// }
|
||||
/// });
|
||||
/// ```
|
||||
/// </summary>
|
||||
public static void GetGameExptInfo(GetGameExptInfoOption callback)
|
||||
{
|
||||
@ -790,6 +867,14 @@ namespace WeChatWASM
|
||||
WXSDKManagerHandler.Instance.GetLocalIPAddress(callback);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [wx.getLocation(Object object)](https://developers.weixin.qq.com/minigame/dev/api/location/wx.getLocation.html)
|
||||
/// </summary>
|
||||
public static void GetLocation(GetLocationOption callback)
|
||||
{
|
||||
WXSDKManagerHandler.Instance.GetLocation(callback);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [wx.getNetworkType(Object object)](https://developers.weixin.qq.com/minigame/dev/api/device/network/wx.getNetworkType.html)
|
||||
/// 获取网络类型
|
||||
@ -916,6 +1001,15 @@ namespace WeChatWASM
|
||||
WXSDKManagerHandler.Instance.GetSetting(callback);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [wx.getShareInfo(Object object)](https://developers.weixin.qq.com/minigame/dev/api/share/wx.getShareInfo.html)
|
||||
/// 需要基础库: `1.1.0`
|
||||
/// </summary>
|
||||
public static void GetShareInfo(GetShareInfoOption callback)
|
||||
{
|
||||
WXSDKManagerHandler.Instance.GetShareInfo(callback);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [wx.getShowSplashAdStatus(Object object)](https://developers.weixin.qq.com/minigame/dev/api/ad/wx.getShowSplashAdStatus.html)
|
||||
/// 需要基础库: `3.7.8`
|
||||
@ -1262,9 +1356,6 @@ namespace WeChatWASM
|
||||
/// 从 2.3.0 版本开始,若用户未点击小程序页面任意位置,则开发者将无法调用此接口自动跳转至其他小程序。
|
||||
/// ##### 需要用户确认跳转
|
||||
/// 从 2.3.0 版本开始,在跳转至其他小程序前,将统一增加弹窗,询问是否跳转,用户确认后才可以跳转其他小程序。如果用户点击取消,则回调 `fail cancel`。
|
||||
/// ##### 无需声明跳转名单,不限跳转数量(众测中)
|
||||
/// 1. 从2020年4月24日起,使用跳转其他小程序功能将无需在全局配置中声明跳转名单,调用此接口时将不再校验所跳转的 AppID 是否在 navigateToMiniProgramAppIdList 中。
|
||||
/// 2. 从2020年4月24日起,跳转其他小程序将不再受数量限制,使用此功能时请注意遵守运营规范。
|
||||
/// **运营规范**
|
||||
/// 平台将坚决打击小程序盒子等互推行为,使用此功能时请严格遵守[《微信小程序平台运营规范》](https://developers.weixin.qq.com/miniprogram/product/#_5-10-%E4%BA%92%E6%8E%A8%E8%A1%8C%E4%B8%BA),若发现小程序违反运营规范将被下架处理。
|
||||
/// **关于调试**
|
||||
@ -1700,6 +1791,125 @@ namespace WeChatWASM
|
||||
WXSDKManagerHandler.Instance.ReportScene(callback);
|
||||
}
|
||||
|
||||
/// <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="人脸识别流程图" />
|
||||
/// **示例代码**
|
||||
/// ```js
|
||||
/// // 实际业务场景:防沉迷身份验证
|
||||
/// function checkUserIdentity() {
|
||||
/// wx.requestFacialRecognition({
|
||||
/// success(res) {
|
||||
/// // 场景 1:本次人脸识别通过
|
||||
/// // res = { errCode: 0, errMsg: 'ok' }
|
||||
/// console.log('人脸识别成功:', res)
|
||||
/// // 允许继续游戏
|
||||
/// startGame()
|
||||
/// },
|
||||
/// 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()
|
||||
/// }
|
||||
/// },
|
||||
/// complete(res) {
|
||||
/// // 无论成功失败均会触发
|
||||
/// console.log('人脸识别流程结束:', res)
|
||||
/// }
|
||||
/// })
|
||||
/// }
|
||||
/// ```
|
||||
/// </summary>
|
||||
public static void RequestFacialRecognition(RequestFacialRecognitionOption callback)
|
||||
{
|
||||
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`
|
||||
@ -2043,6 +2253,8 @@ namespace WeChatWASM
|
||||
/// [wx.setDeviceOrientation(Object object)](https://developers.weixin.qq.com/minigame/dev/api/device/orientation/wx.setDeviceOrientation.html)
|
||||
/// 需要基础库: `2.26.0`
|
||||
/// 切换横竖屏。接口调用成功后会触发 wx.onDeviceOrientationChange 事件
|
||||
/// **注意**
|
||||
/// - PC小程序处于全屏时,无法切换横竖屏。
|
||||
/// </summary>
|
||||
public static void SetDeviceOrientation(SetDeviceOrientationOption callback)
|
||||
{
|
||||
@ -2763,6 +2975,15 @@ namespace WeChatWASM
|
||||
WXSDKManagerHandler.Instance.ReportEvent(eventId, data);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [wx.reportMonitor(string name, number value)](https://developers.weixin.qq.com/minigame/dev/api/data-analysis/wx.reportMonitor.html)
|
||||
/// 需要基础库: `2.1.2`
|
||||
/// </summary>
|
||||
public static void ReportMonitor(string name, double value)
|
||||
{
|
||||
WXSDKManagerHandler.Instance.ReportMonitor(name, value);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [wx.reportPerformance(Number id, Number value, String|Array dimensions)](https://developers.weixin.qq.com/minigame/dev/api/base/performance/wx.reportPerformance.html)
|
||||
/// 需要基础库: `2.10.0`
|
||||
@ -3027,6 +3248,7 @@ 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
|
||||
@ -3121,6 +3343,34 @@ namespace WeChatWASM
|
||||
WXSDKManagerHandler.Instance.OffDeviceOrientationChange(result);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [wx.onDirectAdStatusChange(function listener)](https://developers.weixin.qq.com/minigame/dev/api/ad/wx.onDirectAdStatusChange.html)
|
||||
/// 需要基础库: `3.11.2`
|
||||
/// 监听监听直玩广告状态变化
|
||||
/// **示例代码**
|
||||
/// ```js
|
||||
/// wx.onDirectAdStatusChange(res => {
|
||||
/// // 会有如下的几种状态值组合
|
||||
/// // a) { isInMask: true, isInDirectGameAd: true } -> 表示当前正在直玩广告 且 未戳破蒙层
|
||||
/// // b) { isInMask: false, isInDirectGameAd: true } -> 表示当前正在直玩广告 且 戳破了蒙层
|
||||
/// // c) { isInMask: false, isInDirectGameAd: false, isEndByAbnormal: false }, -> 表示倒计时结束了,并且选择了继续玩
|
||||
/// // d) { isInMask: false, isInDirectGameAd: false, isEndByAbnormal: true }, -> 表示由于异常流程而结束
|
||||
/// console.log(res.isInMask)
|
||||
/// console.log(res.isInDirectGameAd)
|
||||
/// console.log(res.isEndByAbnormal)
|
||||
/// })
|
||||
/// ```
|
||||
/// </summary>
|
||||
public static void OnDirectAdStatusChange(Action<OnDirectAdStatusChangeListenerResult> result)
|
||||
{
|
||||
WXSDKManagerHandler.Instance.OnDirectAdStatusChange(result);
|
||||
}
|
||||
|
||||
public static void OffDirectAdStatusChange(Action<OnDirectAdStatusChangeListenerResult> result)
|
||||
{
|
||||
WXSDKManagerHandler.Instance.OffDirectAdStatusChange(result);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [wx.onError(function listener)](https://developers.weixin.qq.com/minigame/dev/api/base/app/app-event/wx.onError.html)
|
||||
/// 监听全局错误事件
|
||||
@ -3495,6 +3745,7 @@ namespace WeChatWASM
|
||||
/// 需要基础库: `2.8.1`
|
||||
/// 监听用户主动截屏事件。用户使用系统截屏按键截屏时触发,只能注册一个监听
|
||||
/// **示例代码**
|
||||
/// 页面要先调用wx.showShareMenu()来允许调用
|
||||
/// ```js
|
||||
/// wx.onUserCaptureScreen(function (res) {
|
||||
/// console.log('用户截屏了')
|
||||
@ -3508,8 +3759,7 @@ namespace WeChatWASM
|
||||
/// }, 1000) // 在1秒内对query进行解析
|
||||
/// })
|
||||
/// }
|
||||
/// }
|
||||
/// )
|
||||
/// })
|
||||
/// ```
|
||||
/// </summary>
|
||||
public static void OnUserCaptureScreen(Action<OnUserCaptureScreenListenerResult> result)
|
||||
@ -3643,7 +3893,7 @@ namespace WeChatWASM
|
||||
/// <summary>
|
||||
/// [wx.onCopyUrl(function listener)](https://developers.weixin.qq.com/minigame/dev/api/share/wx.onCopyUrl.html)
|
||||
/// 需要基础库: `2.14.3`
|
||||
/// 监听用户点击右上角菜单的「复制链接」按钮时触发的事件。本接口为 Beta 版本,暂只在 Android 平台支持。
|
||||
/// 监听用户点击右上角菜单的「复制链接」按钮时触发的事件。
|
||||
/// </summary>
|
||||
public static void OnCopyUrl(Action<Action<OnCopyUrlListenerResult>> callback)
|
||||
{
|
||||
@ -3831,6 +4081,23 @@ namespace WeChatWASM
|
||||
return WXSDKManagerHandler.GetDeviceInfo();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [Object wx.getDirectAdStatusSync()](https://developers.weixin.qq.com/minigame/dev/api/ad/wx.getDirectAdStatusSync.html)
|
||||
/// 需要基础库: `3.11.2`
|
||||
/// 获取直玩广告组件展示状态。
|
||||
/// **示例代码**
|
||||
/// ```js
|
||||
/// const statusInfo = wx.getDirectAdStatusSync();
|
||||
/// console.log(statusInfo.isInMask) // 当前是否在蒙层阶段
|
||||
/// console.log(statusInfo.isInDirectGameAd) // 当前是否在直玩广告中
|
||||
/// ```
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public static DirectAdStatusInfo GetDirectAdStatusSync()
|
||||
{
|
||||
return WXSDKManagerHandler.GetDirectAdStatusSync();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [Object wx.getEnterOptionsSync()](https://developers.weixin.qq.com/minigame/dev/api/base/app/life-cycle/wx.getEnterOptionsSync.html)
|
||||
/// 需要基础库: `2.13.2`
|
||||
@ -4045,19 +4312,19 @@ namespace WeChatWASM
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [[ImageData](https://developers.weixin.qq.com/minigame/dev/api/render/image/ImageData.html) wx.createImageData(number width, number height)](https://developers.weixin.qq.com/minigame/dev/api/render/image/wx.createImageData.html)
|
||||
/// [[ImageData](https://developers.weixin.qq.com/minigame/dev/api/render/image/ImageData.html) wx.createImageData(number width, number height, Uint8ClampedArray data)](https://developers.weixin.qq.com/minigame/dev/api/render/image/wx.createImageData.html)
|
||||
/// 需要基础库: `3.4.10`
|
||||
/// 这里有两种使用方法, 一种是指定ImageData的宽和高, 另外一种是使用ImageData, 通过它本身的宽高尺寸来构建新的对象。
|
||||
/// 这里有两种使用方法, 一种是指定ImageData的宽和高, 另外一种使用已有的ImageData的图像二进制数据,来构建新的对象。
|
||||
/// **示例代码**
|
||||
/// ```js
|
||||
/// const imageData1 = wx.createImageData(100, 100)
|
||||
/// const imageData2 = wx.createImageData(imageData1)
|
||||
/// const imageData2 = wx.createImageData(imageData1.data, 100, 100)
|
||||
/// ```
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public static ImageData CreateImageData(double width, double height)
|
||||
public static ImageData CreateImageData(double width, double height, int[] data)
|
||||
{
|
||||
return WXSDKManagerHandler.CreateImageData(width, height);
|
||||
return WXSDKManagerHandler.CreateImageData(width, height, data);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@ -1136,6 +1136,14 @@ namespace WeChatWASM
|
||||
{
|
||||
WXSDKManagerHandler.Instance.NotifyMiniProgramPlayableStatus(option);
|
||||
}
|
||||
/// <summary>
|
||||
/// 上报自定义打点数据
|
||||
/// </summary>
|
||||
/// <param name="option"></param>
|
||||
public static void ReportGameEvent(ReportGameEventOption option)
|
||||
{
|
||||
WXSDKManagerHandler.Instance.ReportGameEvent(option);
|
||||
}
|
||||
#endregion
|
||||
#region 虚拟支付
|
||||
/// <summary>
|
||||
|
||||
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: 63d1faae0c9fe2b3822be1df70075b2e
|
||||
guid: 6483841a7a988e3f1a8dd2a56edade60
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5624c1ea377ab73568ec5d8cc87ba289
|
||||
guid: 209fead9ed72dafa0320b54abf66fb08
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1c2af028fd3238e8f04faeb2aa3ade47
|
||||
guid: 2809b783f6c9ab9e7a08a4eb985d869b
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fe7c8aaeb34de118ea1916726cab997a
|
||||
guid: 5efb2ab38a1b773bdcf0fa425a98df8c
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d5a5e3c3f589846c6f549483ead1060f
|
||||
guid: 6367ebe2633506d7f5460ee267c04aad
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f039015c8d9aa097c242e0ac382a03a5
|
||||
guid: a087aa2cb03aa4d9cf1b73bb362ca07c
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1b65a8abafe0bade0236e4fd4d839856
|
||||
guid: 9c6145ebcffc55352017118bc2c8faef
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6637da07d51fde3aa60e2345ef04fb54
|
||||
guid: de2e080d50d9ed23937f80b0d8ac185c
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5258dfb6a17d62965c90a5d41bdb820e
|
||||
guid: eebd2298d3d4ef9eda27cfc9c08cf1c0
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 649f86cd85ab2b28f250bcdc19c80221
|
||||
guid: 7200021ab6ef09f45125199c58c9907f
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1732bc62c1ae0737086c7e3a61fef8a6
|
||||
guid: 165e9d03099c2f6fe5b4a2c103efbaf9
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f1e7bfb8fcef5db27a2b1e59e2196be3
|
||||
guid: 3f713155f1186b17a59cf7c5b4d1da87
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d450e59ef56e1edbb753bd466e3a4b4e
|
||||
guid: a3933888344b9437fb99585f53df5072
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9d7a6105f79e6fe0257c04dac5ef5512
|
||||
guid: bd066cbb444e07beb5700f0c5f032278
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0dcc3e1850c18a852a957781e000801e
|
||||
guid: 830d91299ce73deb611a43aad3e0edb0
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3cb13c7d868de2fddd8bc54c64b1aa26
|
||||
guid: 8ded119aad9169009cf53811a879f308
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e5f19ac1a340e5d30e1532a723d3a531
|
||||
guid: 06583217781c729d3c6394fd31c2266a
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5f9d6b4ac2e5f671b60c199483cf38d5
|
||||
guid: f9dadc0cac556097ce07f5804c14aa59
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a9f0d33ecc5e83baf0afa7ee45652168
|
||||
guid: db2bfb0670140c2ba35d271a2b2563d1
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 571053761e12c021c647cbc8d6427265
|
||||
guid: 0a6e6532d142253f3599769648b62a66
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9615fa76c879e0ad84a9c0f23c394cd1
|
||||
guid: 2b85e26041bf107a74ec876ed3c4c1b8
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a8a5aa18c504fa1bfc7932ad4b5b5c9a
|
||||
guid: ebca95109ee052cab5a61221157f422b
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 46cb1cfa0fcb8383b4c4e98021dbf915
|
||||
guid: 86c98d5a5fce56d461844eea3a970317
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2c5e1b346e82b9f95e3c7607c437f909
|
||||
guid: ed1fb030fe098d840d2ce5087e98ae58
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 818f48ab29541f227feb9a653ccb44ec
|
||||
guid: bcf46ecb8d8216fab4c79bca2bc98a79
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b8495a7e375e78cf9f521d4adb605a81
|
||||
guid: 4de5582fcd16170498684da459b5fc3f
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 42ca90b4e87fd0ac63e5da1b8fafcb8b
|
||||
guid: 1cdd212fcdd89f8f3e60cba1946ebfe2
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6f632f7d6f2f6a3eb721c591178eb19c
|
||||
guid: 8ab7446fbd56d88cf859598a014bde03
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f06a43042c9b0589f799d2edaaa2700a
|
||||
guid: 974fa54ee7424b4c086d2134258bf445
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fd31744e2454c091e3bf9de149b887cb
|
||||
guid: 8eb4a2e89ee88ad986b43e1e33353791
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 071e18244d11ecc6c46abf8056c2eee7
|
||||
guid: 74992d007ca8cc10f06569aee07d5c38
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8428ec34af6cdb7016ece3225aa30b1e
|
||||
guid: bd3a2786179f74c2ec6d55aa1587f38c
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f806dfa2cceda1885f09d4bb329a7436
|
||||
guid: 590fa1a3262e8283384644346e729da6
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0cdc747363c29ddf54b63d86eb6bd2c9
|
||||
guid: 72520d85c979bebe20d03a12b416a2b6
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 41a1409087f24ef13fa0261d717f55a2
|
||||
guid: 7d25994123c3119c5a270ddac4ddd2e9
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b26f3e8b7f88c7023ce119fab71f3574
|
||||
guid: fb805143d5450cb05ab9d53f3c736cde
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c45726df74db8e8214536632a157d130
|
||||
guid: 1d426aa547c96cddd9293431a2ca15ee
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -33,6 +33,7 @@ export const ResType = {
|
||||
phoneCalendarAuthorized: 'string',
|
||||
},
|
||||
AppBaseInfo: {
|
||||
PCKernelVersion: 'string',
|
||||
SDKVersion: 'string',
|
||||
enableDebug: 'bool',
|
||||
fontSizeScaleFactor: 'number',
|
||||
@ -61,6 +62,10 @@ export const ResType = {
|
||||
platform: 'string',
|
||||
system: 'string',
|
||||
},
|
||||
DirectAdStatusInfo: {
|
||||
isInDirectGameAd: 'bool',
|
||||
isInMask: 'bool',
|
||||
},
|
||||
EnterOptionsGame: {
|
||||
apiCategory: 'string',
|
||||
query: 'object',
|
||||
@ -79,12 +84,16 @@ export const ResType = {
|
||||
feedId: 'string',
|
||||
},
|
||||
LaunchOptionsGame: {
|
||||
hostExtraData: 'HostExtraData',
|
||||
query: 'object',
|
||||
referrerInfo: 'EnterOptionsGameReferrerInfo',
|
||||
scene: 'number',
|
||||
chatType: 'number',
|
||||
shareTicket: 'string',
|
||||
},
|
||||
HostExtraData: {
|
||||
host_scene: 'string',
|
||||
},
|
||||
ClientRect: {
|
||||
bottom: 'number',
|
||||
height: 'number',
|
||||
@ -94,13 +103,50 @@ 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[]',
|
||||
@ -284,6 +330,18 @@ 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[]',
|
||||
@ -531,7 +589,7 @@ export const ResType = {
|
||||
status: 'number',
|
||||
errMsg: 'string',
|
||||
},
|
||||
GetChatToolInfoSuccessCallbackResult: {
|
||||
RequestMidasFriendPaymentSuccessCallbackResult: {
|
||||
cloudID: 'string',
|
||||
encryptedData: 'string',
|
||||
errMsg: 'string',
|
||||
@ -575,9 +633,14 @@ export const ResType = {
|
||||
errMsg: 'string',
|
||||
},
|
||||
GetGameExptInfoSuccessCallbackResult: {
|
||||
list: 'object',
|
||||
list: 'GameExptInfo[]',
|
||||
errMsg: 'string',
|
||||
},
|
||||
GameExptInfo: {
|
||||
expt_id: 'number',
|
||||
param_name: 'string',
|
||||
param_value: 'string',
|
||||
},
|
||||
GetGroupEnterInfoError: {
|
||||
errMsg: 'string',
|
||||
errCode: 'number',
|
||||
@ -611,6 +674,16 @@ export const ResType = {
|
||||
localip: 'string',
|
||||
netmask: 'string',
|
||||
},
|
||||
GetLocationSuccessCallbackResult: {
|
||||
accuracy: 'number',
|
||||
altitude: 'number',
|
||||
horizontalAccuracy: 'number',
|
||||
latitude: 'number',
|
||||
longitude: 'number',
|
||||
speed: 'number',
|
||||
verticalAccuracy: 'number',
|
||||
errMsg: 'string',
|
||||
},
|
||||
GetNetworkTypeSuccessCallbackResult: {
|
||||
hasSystemProxy: 'bool',
|
||||
networkType: 'string',
|
||||
@ -764,6 +837,7 @@ export const ResType = {
|
||||
},
|
||||
OnCopyUrlListenerResult: {
|
||||
query: 'string',
|
||||
title: 'string',
|
||||
},
|
||||
OnDeviceMotionChangeListenerResult: {
|
||||
alpha: 'number',
|
||||
@ -773,6 +847,11 @@ export const ResType = {
|
||||
OnDeviceOrientationChangeListenerResult: {
|
||||
value: 'string',
|
||||
},
|
||||
OnDirectAdStatusChangeListenerResult: {
|
||||
isEndByAbnormal: 'bool',
|
||||
isInDirectGameAd: 'bool',
|
||||
isInMask: 'bool',
|
||||
},
|
||||
ListenerError: {
|
||||
message: 'string',
|
||||
},
|
||||
@ -927,6 +1006,14 @@ export const ResType = {
|
||||
eventType: 'number',
|
||||
branchDim: 'string',
|
||||
},
|
||||
FacialRecognitionError: {
|
||||
errMsg: 'string',
|
||||
errCode: 'number',
|
||||
},
|
||||
RequestFacialVerifyError: {
|
||||
errMsg: 'string',
|
||||
errCode: 'number',
|
||||
},
|
||||
MidasFriendPaymentError: {
|
||||
errMsg: 'string',
|
||||
errCode: 'number',
|
||||
@ -961,7 +1048,7 @@ export const ResType = {
|
||||
errMsg: 'string',
|
||||
},
|
||||
RequestSubscribeMessageSuccessCallbackResult: {
|
||||
anyKeyWord: 'string',
|
||||
anyKeyWord: 'object',
|
||||
errMsg: 'string',
|
||||
},
|
||||
RequestSubscribeSystemMessageSuccessCallbackResult: {
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e1ff465eeff8bb68a7ef6f470f9df43e
|
||||
guid: 2a2958975f3b4418a20432d666da6c42
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 11a625f8c942af6659141c2ed08e88bf
|
||||
guid: 7c61a85f4bbc30a0d2d9577f6393d9f0
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2d0406cff0b94f85339ef42e40592cb3
|
||||
guid: d3be8e47f5529aca830b68c420828721
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5565a38feff47752d42ed0956be53fbc
|
||||
guid: 917841f4973742cd7334a67a9f7c0548
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3f7d00d37b8c3101347e058f34c2606b
|
||||
guid: 35f79e0756cfe0180f6500c07aae6484
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 693d68ec16fb9e59726dbf543811d078
|
||||
guid: 7be09f48877d3332869009b479f39982
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 585b552bda8993f98993ee9f657be508
|
||||
guid: 269944bb7b28f5dbde9165ecb691232d
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a347cd87025f3f096305fd0839299180
|
||||
guid: 0ee29da93b1593146ccf97960d3ad5d1
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3331dfe18dce653646e500be1d840e62
|
||||
guid: cfa41a2b16366f246cfa2633135fb5e2
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bcec1336c9e84b66667eca2337a5aef8
|
||||
guid: e845aaecb75dbf4ad94346bab8da4a17
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 430f4be595bf27f0299b3e623273b447
|
||||
guid: f5c2a57c92e4ce85b74139c5595b1729
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 51fbf3d9fb47bceba3aea6fd5e514b4a
|
||||
guid: 0d256ec05af31883fb3e4f0527ca2d96
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: cbdb00088a741e35fa982b52ad853d10
|
||||
guid: f79d22eb9a19e0e3af20d894e954fa23
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d1e8fcb3158c70d492bd5ef9c22d5d43
|
||||
guid: 8addc009ace24de4aee368122564f080
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8494a8995d13f3f060216a006e2084ba
|
||||
guid: 864393d5baa58d42d364f7b115c99fb6
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f317595987bcfc1970d85b76285feb7a
|
||||
guid: f81d09e28398f84dce275810f28706c6
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 586923c4a1afcd10ba04e19aa2cc9b1e
|
||||
guid: 500fe65375090b404349789c175b3454
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 99b1052d738dcc8c3755ce134f2e5ec3
|
||||
guid: 9bdb5cb7ae96e27fe3c175d65eaa879a
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b8581962e774a9409f39ccf36c10c832
|
||||
guid: 1e8f606bd41d921e446627a82ec024dd
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9398fdf38caa7d500d31d796109f4c11
|
||||
guid: 029b6cba53d1eef4a3d5572d01571436
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d8c78aab41df325558a8be3ed0e2cb27
|
||||
guid: 42816f52d6901b85ea05899a32b90d25
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
],
|
||||
"plugins": {
|
||||
"UnityPlugin": {
|
||||
"version": "1.2.88",
|
||||
"version": "1.2.91",
|
||||
"provider": "wxe5a48f1ed5f544b7",
|
||||
"contexts": [
|
||||
{
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3e31a4f8435b18625512d8dc0eba3936
|
||||
guid: 043f9814444431ef79cd72cec30329e6
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1ead7f0999a94d278ac3e498e33f2341
|
||||
guid: 35bbb9eb69d7eff3e5027ebd6ee3de97
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4af9d566f83cc012e5ba1c893e35c5c9
|
||||
guid: aa366fdc16d68c62970aba580ff052c5
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6ca73726ca0ce6a0705ce8b5474d917e
|
||||
guid: 91b1d5f98241b6b218a7b32af0836af1
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e2786ad3b6f3f5f5b96ae1f0eaeea505
|
||||
guid: 47c599fd0689596686193bae81c8f8bc
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b46908ec1f4ec5a6b83439f925d2ec62
|
||||
guid: 41a6da5dc7cd468f14eab0a395380e91
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 292d361b03f539473b39fc9228e6a5f4
|
||||
guid: a296204a148cb143b90350a964f82e7b
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d64fa8917d096a270430e8f8e960238d
|
||||
guid: bb29775e28ab2960f429bb6b389d9265
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ebcbdd084252605554de20de7b08f9f2
|
||||
guid: 95ab30c79e67e1bad648e6d15249f894
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4f344f51e19893cd800ecea3b5f00742
|
||||
guid: 4fdae5f05491cabd67163cd6320cdd5b
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bb16f40cd37e08ba0808b40226996b83
|
||||
guid: b8a9db67f5ab165c48baf06c547fc2ef
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 362ee051aa8697223d7adb6ef3d68fc5
|
||||
guid: 7fb3279cc8f6b64d5f0152a8b694e42e
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 24529c0dcf07d59036bd95daf2e527af
|
||||
guid: b5d98cb6365535ad2ea36f45ec6358cd
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a35589680f72729f4384628ead740a44
|
||||
guid: a2b4b32c3b27aa9472a39f2b43d9bea4
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e5a34f5b2e32a6d876298d20dc0e3037
|
||||
guid: 509d146a8dc29185d543ab5b038f7237
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d99d97b65c108ffa49fa5ac53245e402
|
||||
guid: 1929f74acda77eb86ff25de3bdf193b0
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2cdfe70dcb00676e87f3b3a3b53d145a
|
||||
guid: 8fcb1fdfcc69e3905346a53fafdf059d
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d2cf4cbc9a93a34b339d31cd16ce0c27
|
||||
guid: b105380eb55d941ad58b92022ddc3262
|
||||
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