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
3402716fb1
commit
090fad0074
@ -5,134 +5,134 @@ using UnityEngine;
|
||||
|
||||
namespace WeChatWASM
|
||||
{
|
||||
public class WXPlayableConvertCore
|
||||
{
|
||||
static WXPlayableConvertCore() { }
|
||||
public static WXPlayableEditorScriptObject config => UnityUtil.GetPlayableEditorConf();
|
||||
|
||||
public static WXConvertCore.WXExportError DoExport(bool buildWebGL = true)
|
||||
public class WXPlayableConvertCore
|
||||
{
|
||||
WXConvertCore.isPlayableBuild = true;
|
||||
// var preCheckResult = WXConvertCore.PreCheck();
|
||||
// if (preCheckResult != WXConvertCore.WXExportError.SUCCEED)
|
||||
// {
|
||||
// WXConvertCore.isPlayableBuild = false;
|
||||
// return preCheckResult;
|
||||
// }
|
||||
// WXConvertCore.PreInit();
|
||||
var exportResult = WXConvertCore.DoExport();
|
||||
static WXPlayableConvertCore() { }
|
||||
public static WXPlayableEditorScriptObject config => UnityUtil.GetPlayableEditorConf();
|
||||
|
||||
WXConvertCore.isPlayableBuild = false;
|
||||
return exportResult;
|
||||
}
|
||||
|
||||
public static WXEditorScriptObject GetFakeScriptObject()
|
||||
{
|
||||
return SetDefaultProperties(ConvertPlayableConfigToCommon(config));
|
||||
}
|
||||
|
||||
public static WXEditorScriptObject ConvertPlayableConfigToCommon(
|
||||
WXPlayableEditorScriptObject source,
|
||||
WXEditorScriptObject target = null)
|
||||
{
|
||||
// 创建或使用现有的目标实例
|
||||
var newTarget = target ?? ScriptableObject.CreateInstance<WXEditorScriptObject>();
|
||||
|
||||
// 使用序列化方式深度拷贝公共字段
|
||||
var so = new SerializedObject(newTarget);
|
||||
|
||||
// 遍历源对象的所有字段
|
||||
var sourceType = source.GetType();
|
||||
foreach (var sourceField in sourceType.GetFields(
|
||||
System.Reflection.BindingFlags.Public |
|
||||
System.Reflection.BindingFlags.Instance |
|
||||
System.Reflection.BindingFlags.NonPublic))
|
||||
{
|
||||
// 跳过readonly字段
|
||||
if (sourceField.IsInitOnly) continue;
|
||||
|
||||
// 查找目标对象中的对应字段
|
||||
var targetField = typeof(WXEditorScriptObject).GetField(
|
||||
sourceField.Name,
|
||||
System.Reflection.BindingFlags.Public |
|
||||
System.Reflection.BindingFlags.Instance |
|
||||
System.Reflection.BindingFlags.NonPublic);
|
||||
|
||||
// if (targetField != null && !targetField.FieldType.IsValueType && !targetField.FieldType.IsEnum)
|
||||
// {
|
||||
// // // 复制字段值
|
||||
// // var value = sourceField.GetValue(source);
|
||||
// // targetField.SetValue(newTarget, value);
|
||||
// // 递归复制子对象属性
|
||||
// var subObj = targetField.GetValue(newTarget) ?? Activator.CreateInstance(targetField.FieldType);
|
||||
// CopySubObjectProperties(value, subObj);
|
||||
// targetField.SetValue(newTarget, subObj);
|
||||
// }
|
||||
|
||||
// if (targetField != null &&
|
||||
// (targetField.FieldType.IsAssignableFrom(sourceField.FieldType) ||
|
||||
// (targetField.FieldType.IsValueType && sourceField.FieldType.IsValueType &&
|
||||
// targetField.FieldType == sourceField.FieldType)))
|
||||
// {
|
||||
// 复制字段值
|
||||
var value = sourceField.GetValue(source);
|
||||
// 特殊处理嵌套对象类型的字段
|
||||
if (value != null && !targetField.FieldType.IsValueType && !targetField.FieldType.IsEnum)
|
||||
{
|
||||
// 递归复制子对象属性
|
||||
var subObj = targetField.GetValue(newTarget) ?? Activator.CreateInstance(targetField.FieldType);
|
||||
CopySubObjectProperties(value, subObj);
|
||||
targetField.SetValue(newTarget, subObj);
|
||||
}
|
||||
else
|
||||
{
|
||||
targetField.SetValue(newTarget, value);
|
||||
}
|
||||
// }
|
||||
}
|
||||
|
||||
// 应用修改到序列化对象
|
||||
so.ApplyModifiedProperties();
|
||||
return newTarget;
|
||||
}
|
||||
|
||||
private static void CopySubObjectProperties(object source, object target)
|
||||
{
|
||||
var sourceType = source.GetType();
|
||||
var targetType = target.GetType();
|
||||
|
||||
foreach (var sourceField in sourceType.GetFields(
|
||||
System.Reflection.BindingFlags.Public |
|
||||
System.Reflection.BindingFlags.Instance |
|
||||
System.Reflection.BindingFlags.NonPublic))
|
||||
public static WXConvertCore.WXExportError DoExport(bool buildWebGL = true)
|
||||
{
|
||||
if (sourceField.IsInitOnly) continue;
|
||||
WXConvertCore.isPlayableBuild = true;
|
||||
// var preCheckResult = WXConvertCore.PreCheck();
|
||||
// if (preCheckResult != WXConvertCore.WXExportError.SUCCEED)
|
||||
// {
|
||||
// WXConvertCore.isPlayableBuild = false;
|
||||
// return preCheckResult;
|
||||
// }
|
||||
// WXConvertCore.PreInit();
|
||||
var exportResult = WXConvertCore.DoExport();
|
||||
|
||||
var targetField = targetType.GetField(
|
||||
sourceField.Name,
|
||||
WXConvertCore.isPlayableBuild = false;
|
||||
return exportResult;
|
||||
}
|
||||
|
||||
public static WXEditorScriptObject GetFakeScriptObject()
|
||||
{
|
||||
return SetDefaultProperties(ConvertPlayableConfigToCommon(config));
|
||||
}
|
||||
|
||||
public static WXEditorScriptObject ConvertPlayableConfigToCommon(
|
||||
WXPlayableEditorScriptObject source,
|
||||
WXEditorScriptObject target = null)
|
||||
{
|
||||
// 创建或使用现有的目标实例
|
||||
var newTarget = target ?? ScriptableObject.CreateInstance<WXEditorScriptObject>();
|
||||
|
||||
// 使用序列化方式深度拷贝公共字段
|
||||
var so = new SerializedObject(newTarget);
|
||||
|
||||
// 遍历源对象的所有字段
|
||||
var sourceType = source.GetType();
|
||||
foreach (var sourceField in sourceType.GetFields(
|
||||
System.Reflection.BindingFlags.Public |
|
||||
System.Reflection.BindingFlags.Instance |
|
||||
System.Reflection.BindingFlags.NonPublic);
|
||||
|
||||
if (targetField != null &&
|
||||
(targetField.FieldType.IsAssignableFrom(sourceField.FieldType) ||
|
||||
(targetField.FieldType.IsValueType && sourceField.FieldType.IsValueType &&
|
||||
targetField.FieldType == sourceField.FieldType)))
|
||||
System.Reflection.BindingFlags.NonPublic))
|
||||
{
|
||||
// 跳过readonly字段
|
||||
if (sourceField.IsInitOnly) continue;
|
||||
|
||||
// 查找目标对象中的对应字段
|
||||
var targetField = typeof(WXEditorScriptObject).GetField(
|
||||
sourceField.Name,
|
||||
System.Reflection.BindingFlags.Public |
|
||||
System.Reflection.BindingFlags.Instance |
|
||||
System.Reflection.BindingFlags.NonPublic);
|
||||
|
||||
// if (targetField != null && !targetField.FieldType.IsValueType && !targetField.FieldType.IsEnum)
|
||||
// {
|
||||
// // // 复制字段值
|
||||
// // var value = sourceField.GetValue(source);
|
||||
// // targetField.SetValue(newTarget, value);
|
||||
// // 递归复制子对象属性
|
||||
// var subObj = targetField.GetValue(newTarget) ?? Activator.CreateInstance(targetField.FieldType);
|
||||
// CopySubObjectProperties(value, subObj);
|
||||
// targetField.SetValue(newTarget, subObj);
|
||||
// }
|
||||
|
||||
// if (targetField != null &&
|
||||
// (targetField.FieldType.IsAssignableFrom(sourceField.FieldType) ||
|
||||
// (targetField.FieldType.IsValueType && sourceField.FieldType.IsValueType &&
|
||||
// targetField.FieldType == sourceField.FieldType)))
|
||||
// {
|
||||
// 复制字段值
|
||||
var value = sourceField.GetValue(source);
|
||||
targetField.SetValue(target, value);
|
||||
// 特殊处理嵌套对象类型的字段
|
||||
if (value != null && !targetField.FieldType.IsValueType && !targetField.FieldType.IsEnum)
|
||||
{
|
||||
// 递归复制子对象属性
|
||||
var subObj = targetField.GetValue(newTarget) ?? Activator.CreateInstance(targetField.FieldType);
|
||||
CopySubObjectProperties(value, subObj);
|
||||
targetField.SetValue(newTarget, subObj);
|
||||
}
|
||||
else
|
||||
{
|
||||
targetField.SetValue(newTarget, value);
|
||||
}
|
||||
// }
|
||||
}
|
||||
|
||||
// 应用修改到序列化对象
|
||||
so.ApplyModifiedProperties();
|
||||
return newTarget;
|
||||
}
|
||||
|
||||
private static void CopySubObjectProperties(object source, object target)
|
||||
{
|
||||
var sourceType = source.GetType();
|
||||
var targetType = target.GetType();
|
||||
|
||||
foreach (var sourceField in sourceType.GetFields(
|
||||
System.Reflection.BindingFlags.Public |
|
||||
System.Reflection.BindingFlags.Instance |
|
||||
System.Reflection.BindingFlags.NonPublic))
|
||||
{
|
||||
if (sourceField.IsInitOnly) continue;
|
||||
|
||||
var targetField = targetType.GetField(
|
||||
sourceField.Name,
|
||||
System.Reflection.BindingFlags.Public |
|
||||
System.Reflection.BindingFlags.Instance |
|
||||
System.Reflection.BindingFlags.NonPublic);
|
||||
|
||||
if (targetField != null &&
|
||||
(targetField.FieldType.IsAssignableFrom(sourceField.FieldType) ||
|
||||
(targetField.FieldType.IsValueType && sourceField.FieldType.IsValueType &&
|
||||
targetField.FieldType == sourceField.FieldType)))
|
||||
{
|
||||
var value = sourceField.GetValue(source);
|
||||
targetField.SetValue(target, value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static WXEditorScriptObject SetDefaultProperties(WXEditorScriptObject target)
|
||||
{
|
||||
target.ProjectConf.CDN = "";
|
||||
target.ProjectConf.assetLoadType = 1;
|
||||
target.ProjectConf.compressDataPackage = true;
|
||||
public static WXEditorScriptObject SetDefaultProperties(WXEditorScriptObject target)
|
||||
{
|
||||
target.ProjectConf.CDN = "";
|
||||
target.ProjectConf.assetLoadType = 1;
|
||||
target.ProjectConf.compressDataPackage = true;
|
||||
|
||||
target.CompileOptions.showMonitorSuggestModal = false;
|
||||
return target;
|
||||
target.CompileOptions.showMonitorSuggestModal = false;
|
||||
return target;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -6,354 +6,354 @@ using UnityEngine;
|
||||
|
||||
namespace WeChatWASM
|
||||
{
|
||||
[InitializeOnLoad]
|
||||
public class WXPlayableSettingsHelperInterface
|
||||
{
|
||||
public static WXPlayableSettingsHelper helper = new WXPlayableSettingsHelper();
|
||||
}
|
||||
|
||||
public class WXPlayableSettingsHelper
|
||||
{
|
||||
public static string projectRootPath;
|
||||
private static WXPlayableEditorScriptObject config;
|
||||
private static bool m_EnablePerfTool = false;
|
||||
public static bool UseIL2CPP
|
||||
[InitializeOnLoad]
|
||||
public class WXPlayableSettingsHelperInterface
|
||||
{
|
||||
get
|
||||
{
|
||||
public static WXPlayableSettingsHelper helper = new WXPlayableSettingsHelper();
|
||||
}
|
||||
|
||||
public class WXPlayableSettingsHelper
|
||||
{
|
||||
public static string projectRootPath;
|
||||
private static WXPlayableEditorScriptObject config;
|
||||
private static bool m_EnablePerfTool = false;
|
||||
public static bool UseIL2CPP
|
||||
{
|
||||
get
|
||||
{
|
||||
#if TUANJIE_2022_3_OR_NEWER
|
||||
return PlayerSettings.GetScriptingBackend(BuildTargetGroup.WeixinMiniGame) == ScriptingImplementation.IL2CPP;
|
||||
#else
|
||||
return true;
|
||||
return true;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
public WXPlayableSettingsHelper()
|
||||
{
|
||||
projectRootPath = System.IO.Path.GetFullPath(Application.dataPath + "/../");
|
||||
}
|
||||
|
||||
public void OnFocus()
|
||||
{
|
||||
loadData();
|
||||
}
|
||||
|
||||
public void OnLostFocus()
|
||||
{
|
||||
saveData();
|
||||
}
|
||||
|
||||
public void OnDisable()
|
||||
{
|
||||
EditorUtility.SetDirty(config);
|
||||
}
|
||||
|
||||
private Vector2 scrollRoot;
|
||||
private bool foldBaseInfo = true;
|
||||
private bool foldDebugOptions = true;
|
||||
public void OnSettingsGUI(EditorWindow window)
|
||||
{
|
||||
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));
|
||||
this.formInput("appid", "小游戏试玩AppID");
|
||||
this.formInput("projectName", "小游戏试玩项目名");
|
||||
this.formIntPopup("orientation", "游戏方向", new[] { "Portrait", "Landscape" }, new[] { 0, 1, 2, 3 });
|
||||
this.formInput("memorySize", "UnityHeap预留内存(?)", "单位MB,预分配内存值,超休闲游戏256/中轻度496/重度游戏768,需预估游戏最大UnityHeap值以防止内存自动扩容带来的峰值尖刺。预估方法请查看GIT文档《优化Unity WebGL的内存》");
|
||||
|
||||
GUILayout.BeginHorizontal();
|
||||
string targetDst = "dst";
|
||||
if (!formInputData.ContainsKey(targetDst))
|
||||
{
|
||||
formInputData[targetDst] = "";
|
||||
}
|
||||
}
|
||||
EditorGUILayout.LabelField(string.Empty, GUILayout.Width(10));
|
||||
GUILayout.Label(new GUIContent("导出路径(?)", "支持输入相对于项目根目录的相对路径,如:wxbuild"), GUILayout.Width(140));
|
||||
formInputData[targetDst] = GUILayout.TextField(formInputData[targetDst], GUILayout.MaxWidth(EditorGUIUtility.currentViewWidth - 270));
|
||||
if (GUILayout.Button(new GUIContent("打开"), GUILayout.Width(40)))
|
||||
|
||||
public WXPlayableSettingsHelper()
|
||||
{
|
||||
if (!formInputData[targetDst].Trim().Equals(string.Empty))
|
||||
{
|
||||
EditorUtility.RevealInFinder(GetAbsolutePath(formInputData[targetDst]));
|
||||
}
|
||||
GUIUtility.ExitGUI();
|
||||
projectRootPath = System.IO.Path.GetFullPath(Application.dataPath + "/../");
|
||||
}
|
||||
if (GUILayout.Button(new GUIContent("选择"), GUILayout.Width(40)))
|
||||
|
||||
public void OnFocus()
|
||||
{
|
||||
var dstPath = EditorUtility.SaveFolderPanel("选择你的游戏导出目录", string.Empty, string.Empty);
|
||||
if (dstPath != string.Empty)
|
||||
{
|
||||
formInputData[targetDst] = dstPath;
|
||||
this.saveData();
|
||||
}
|
||||
GUIUtility.ExitGUI();
|
||||
loadData();
|
||||
}
|
||||
GUILayout.EndHorizontal();
|
||||
|
||||
|
||||
EditorGUILayout.EndVertical();
|
||||
}
|
||||
|
||||
foldDebugOptions = EditorGUILayout.Foldout(foldDebugOptions, "调试编译选项");
|
||||
if (foldDebugOptions)
|
||||
{
|
||||
EditorGUILayout.BeginVertical("frameBox", GUILayout.ExpandWidth(true));
|
||||
this.formCheckbox("developBuild", "Development Build", "", false, null, OnDevelopmentBuildToggleChanged);
|
||||
this.formCheckbox("il2CppOptimizeSize", "Il2Cpp Optimize Size(?)", "对应于Il2CppCodeGeneration选项,勾选时使用OptimizeSize(默认推荐),生成代码小15%左右,取消勾选则使用OptimizeSpeed。游戏中大量泛型集合的高频访问建议OptimizeSpeed,在使用HybridCLR等第三方组件时只能用OptimizeSpeed。(Dotnet Runtime模式下该选项无效)", !UseIL2CPP);
|
||||
this.formCheckbox("profilingFuncs", "Profiling Funcs");
|
||||
this.formCheckbox("webgl2", "WebGL2.0(beta)");
|
||||
EditorGUILayout.EndVertical();
|
||||
}
|
||||
|
||||
EditorGUILayout.EndScrollView();
|
||||
}
|
||||
public void OnBuildButtonGUI(EditorWindow window)
|
||||
{
|
||||
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;
|
||||
EditorGUILayout.BeginHorizontal();
|
||||
EditorGUILayout.LabelField(string.Empty, GUILayout.MinWidth(10));
|
||||
if (GUILayout.Button(new GUIContent("生成并转换"), GUILayout.Width(100), GUILayout.Height(25)))
|
||||
{
|
||||
this.saveData();
|
||||
if (WXPlayableConvertCore.DoExport() == WXConvertCore.WXExportError.SUCCEED)
|
||||
public void OnLostFocus()
|
||||
{
|
||||
window.ShowNotification(new GUIContent("转换完成"));
|
||||
saveData();
|
||||
}
|
||||
GUIUtility.ExitGUI();
|
||||
}
|
||||
EditorGUILayout.EndHorizontal();
|
||||
}
|
||||
private void OnDevelopmentBuildToggleChanged(bool InNewValue)
|
||||
{
|
||||
// 针对non-dev build,取消性能分析工具的集成
|
||||
if (!InNewValue)
|
||||
{
|
||||
this.setData("enablePerfAnalysis", false);
|
||||
}
|
||||
}
|
||||
|
||||
private string SDKFilePath;
|
||||
|
||||
private void loadData()
|
||||
{
|
||||
SDKFilePath = Path.Combine(UnityUtil.GetWxSDKRootPath(), "Runtime", "wechat-playable-default", "unity-sdk", "index.js");
|
||||
config = UnityUtil.GetPlayableEditorConf();
|
||||
|
||||
this.setData("projectName", config.ProjectConf.projectName);
|
||||
this.setData("appid", config.ProjectConf.Appid);
|
||||
this.setData("orientation", (int)config.ProjectConf.Orientation);
|
||||
this.setData("dst", config.ProjectConf.relativeDST);
|
||||
|
||||
this.setData("developBuild", config.CompileOptions.DevelopBuild);
|
||||
this.setData("il2CppOptimizeSize", config.CompileOptions.Il2CppOptimizeSize);
|
||||
this.setData("profilingFuncs", config.CompileOptions.profilingFuncs);
|
||||
this.setData("webgl2", config.CompileOptions.Webgl2);
|
||||
this.setData("customNodePath", config.CompileOptions.CustomNodePath);
|
||||
|
||||
this.setData("memorySize", config.ProjectConf.MemorySize.ToString());
|
||||
}
|
||||
|
||||
private void saveData()
|
||||
{
|
||||
config.ProjectConf.projectName = this.getDataInput("projectName");
|
||||
config.ProjectConf.Appid = this.getDataInput("appid");
|
||||
config.ProjectConf.Orientation = (WXScreenOritation)this.getDataPop("orientation");
|
||||
config.ProjectConf.relativeDST = this.getDataInput("dst");
|
||||
config.ProjectConf.DST = GetAbsolutePath(config.ProjectConf.relativeDST);
|
||||
|
||||
config.CompileOptions.DevelopBuild = this.getDataCheckbox("developBuild");
|
||||
config.CompileOptions.Il2CppOptimizeSize = this.getDataCheckbox("il2CppOptimizeSize");
|
||||
config.CompileOptions.profilingFuncs = this.getDataCheckbox("profilingFuncs");
|
||||
config.CompileOptions.CustomNodePath = this.getDataInput("customNodePath");
|
||||
config.CompileOptions.Webgl2 = this.getDataCheckbox("webgl2");
|
||||
config.ProjectConf.MemorySize = int.Parse(this.getDataInput("memorySize"));
|
||||
}
|
||||
|
||||
private Dictionary<string, string> formInputData = new Dictionary<string, string>();
|
||||
private Dictionary<string, int> formIntPopupData = new Dictionary<string, int>();
|
||||
private Dictionary<string, bool> formCheckboxData = new Dictionary<string, bool>();
|
||||
|
||||
private string getDataInput(string target)
|
||||
{
|
||||
if (this.formInputData.ContainsKey(target))
|
||||
return this.formInputData[target];
|
||||
return "";
|
||||
}
|
||||
|
||||
private int getDataPop(string target)
|
||||
{
|
||||
if (this.formIntPopupData.ContainsKey(target))
|
||||
return this.formIntPopupData[target];
|
||||
return 0;
|
||||
}
|
||||
|
||||
private bool getDataCheckbox(string target)
|
||||
{
|
||||
if (this.formCheckboxData.ContainsKey(target))
|
||||
return this.formCheckboxData[target];
|
||||
return false;
|
||||
}
|
||||
|
||||
private void formCheckbox(string target, string label, string help = null, bool disable = false, Action<bool> setting = null, Action<bool> onValueChanged = 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);
|
||||
|
||||
// Toggle the checkbox value based on the disable condition
|
||||
bool newValue = EditorGUILayout.Toggle(disable ? false : formCheckboxData[target]);
|
||||
// Update the checkbox data if the value has changed and invoke the onValueChanged action
|
||||
if (newValue != formCheckboxData[target])
|
||||
{
|
||||
formCheckboxData[target] = newValue;
|
||||
onValueChanged?.Invoke(newValue);
|
||||
}
|
||||
|
||||
if (setting != null)
|
||||
{
|
||||
EditorGUILayout.LabelField("", GUILayout.Width(10));
|
||||
// 配置按钮
|
||||
if (GUILayout.Button(new GUIContent("设置"), GUILayout.Width(40), GUILayout.Height(18)))
|
||||
public void OnDisable()
|
||||
{
|
||||
setting?.Invoke(true);
|
||||
EditorUtility.SetDirty(config);
|
||||
}
|
||||
EditorGUILayout.LabelField("", GUILayout.MinWidth(10));
|
||||
}
|
||||
|
||||
EditorGUI.EndDisabledGroup();
|
||||
private Vector2 scrollRoot;
|
||||
private bool foldBaseInfo = true;
|
||||
private bool foldDebugOptions = true;
|
||||
public void OnSettingsGUI(EditorWindow window)
|
||||
{
|
||||
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;
|
||||
|
||||
if (setting == null)
|
||||
EditorGUILayout.LabelField(string.Empty);
|
||||
GUILayout.EndHorizontal();
|
||||
foldBaseInfo = EditorGUILayout.Foldout(foldBaseInfo, "基本信息");
|
||||
if (foldBaseInfo)
|
||||
{
|
||||
EditorGUILayout.BeginVertical("frameBox", GUILayout.ExpandWidth(true));
|
||||
this.formInput("appid", "小游戏试玩AppID");
|
||||
this.formInput("projectName", "小游戏试玩项目名");
|
||||
this.formIntPopup("orientation", "游戏方向", new[] { "Portrait", "Landscape" }, new[] { 0, 1, 2, 3 });
|
||||
this.formInput("memorySize", "UnityHeap预留内存(?)", "单位MB,预分配内存值,超休闲游戏256/中轻度496/重度游戏768,需预估游戏最大UnityHeap值以防止内存自动扩容带来的峰值尖刺。预估方法请查看GIT文档《优化Unity WebGL的内存》");
|
||||
|
||||
GUILayout.BeginHorizontal();
|
||||
string targetDst = "dst";
|
||||
if (!formInputData.ContainsKey(targetDst))
|
||||
{
|
||||
formInputData[targetDst] = "";
|
||||
}
|
||||
EditorGUILayout.LabelField(string.Empty, GUILayout.Width(10));
|
||||
GUILayout.Label(new GUIContent("导出路径(?)", "支持输入相对于项目根目录的相对路径,如:wxbuild"), GUILayout.Width(140));
|
||||
formInputData[targetDst] = GUILayout.TextField(formInputData[targetDst], GUILayout.MaxWidth(EditorGUIUtility.currentViewWidth - 270));
|
||||
if (GUILayout.Button(new GUIContent("打开"), GUILayout.Width(40)))
|
||||
{
|
||||
if (!formInputData[targetDst].Trim().Equals(string.Empty))
|
||||
{
|
||||
EditorUtility.RevealInFinder(GetAbsolutePath(formInputData[targetDst]));
|
||||
}
|
||||
GUIUtility.ExitGUI();
|
||||
}
|
||||
if (GUILayout.Button(new GUIContent("选择"), GUILayout.Width(40)))
|
||||
{
|
||||
var dstPath = EditorUtility.SaveFolderPanel("选择你的游戏导出目录", string.Empty, string.Empty);
|
||||
if (dstPath != string.Empty)
|
||||
{
|
||||
formInputData[targetDst] = dstPath;
|
||||
this.saveData();
|
||||
}
|
||||
GUIUtility.ExitGUI();
|
||||
}
|
||||
GUILayout.EndHorizontal();
|
||||
|
||||
|
||||
EditorGUILayout.EndVertical();
|
||||
}
|
||||
|
||||
foldDebugOptions = EditorGUILayout.Foldout(foldDebugOptions, "调试编译选项");
|
||||
if (foldDebugOptions)
|
||||
{
|
||||
EditorGUILayout.BeginVertical("frameBox", GUILayout.ExpandWidth(true));
|
||||
this.formCheckbox("developBuild", "Development Build", "", false, null, OnDevelopmentBuildToggleChanged);
|
||||
this.formCheckbox("il2CppOptimizeSize", "Il2Cpp Optimize Size(?)", "对应于Il2CppCodeGeneration选项,勾选时使用OptimizeSize(默认推荐),生成代码小15%左右,取消勾选则使用OptimizeSpeed。游戏中大量泛型集合的高频访问建议OptimizeSpeed,在使用HybridCLR等第三方组件时只能用OptimizeSpeed。(Dotnet Runtime模式下该选项无效)", !UseIL2CPP);
|
||||
this.formCheckbox("profilingFuncs", "Profiling Funcs");
|
||||
this.formCheckbox("webgl2", "WebGL2.0(beta)");
|
||||
EditorGUILayout.EndVertical();
|
||||
}
|
||||
|
||||
EditorGUILayout.EndScrollView();
|
||||
}
|
||||
public void OnBuildButtonGUI(EditorWindow window)
|
||||
{
|
||||
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;
|
||||
EditorGUILayout.BeginHorizontal();
|
||||
EditorGUILayout.LabelField(string.Empty, GUILayout.MinWidth(10));
|
||||
if (GUILayout.Button(new GUIContent("生成并转换"), GUILayout.Width(100), GUILayout.Height(25)))
|
||||
{
|
||||
this.saveData();
|
||||
if (WXPlayableConvertCore.DoExport() == WXConvertCore.WXExportError.SUCCEED)
|
||||
{
|
||||
window.ShowNotification(new GUIContent("转换完成"));
|
||||
}
|
||||
GUIUtility.ExitGUI();
|
||||
}
|
||||
EditorGUILayout.EndHorizontal();
|
||||
}
|
||||
private void OnDevelopmentBuildToggleChanged(bool InNewValue)
|
||||
{
|
||||
// 针对non-dev build,取消性能分析工具的集成
|
||||
if (!InNewValue)
|
||||
{
|
||||
this.setData("enablePerfAnalysis", false);
|
||||
}
|
||||
}
|
||||
|
||||
private string SDKFilePath;
|
||||
|
||||
private void loadData()
|
||||
{
|
||||
SDKFilePath = Path.Combine(UnityUtil.GetWxSDKRootPath(), "Runtime", "wechat-playable-default", "unity-sdk", "index.js");
|
||||
config = UnityUtil.GetPlayableEditorConf();
|
||||
|
||||
this.setData("projectName", config.ProjectConf.projectName);
|
||||
this.setData("appid", config.ProjectConf.Appid);
|
||||
this.setData("orientation", (int)config.ProjectConf.Orientation);
|
||||
this.setData("dst", config.ProjectConf.relativeDST);
|
||||
|
||||
this.setData("developBuild", config.CompileOptions.DevelopBuild);
|
||||
this.setData("il2CppOptimizeSize", config.CompileOptions.Il2CppOptimizeSize);
|
||||
this.setData("profilingFuncs", config.CompileOptions.profilingFuncs);
|
||||
this.setData("webgl2", config.CompileOptions.Webgl2);
|
||||
this.setData("customNodePath", config.CompileOptions.CustomNodePath);
|
||||
|
||||
this.setData("memorySize", config.ProjectConf.MemorySize.ToString());
|
||||
}
|
||||
|
||||
private void saveData()
|
||||
{
|
||||
config.ProjectConf.projectName = this.getDataInput("projectName");
|
||||
config.ProjectConf.Appid = this.getDataInput("appid");
|
||||
config.ProjectConf.Orientation = (WXScreenOritation)this.getDataPop("orientation");
|
||||
config.ProjectConf.relativeDST = this.getDataInput("dst");
|
||||
config.ProjectConf.DST = GetAbsolutePath(config.ProjectConf.relativeDST);
|
||||
|
||||
config.CompileOptions.DevelopBuild = this.getDataCheckbox("developBuild");
|
||||
config.CompileOptions.Il2CppOptimizeSize = this.getDataCheckbox("il2CppOptimizeSize");
|
||||
config.CompileOptions.profilingFuncs = this.getDataCheckbox("profilingFuncs");
|
||||
config.CompileOptions.CustomNodePath = this.getDataInput("customNodePath");
|
||||
config.CompileOptions.Webgl2 = this.getDataCheckbox("webgl2");
|
||||
config.ProjectConf.MemorySize = int.Parse(this.getDataInput("memorySize"));
|
||||
}
|
||||
|
||||
private Dictionary<string, string> formInputData = new Dictionary<string, string>();
|
||||
private Dictionary<string, int> formIntPopupData = new Dictionary<string, int>();
|
||||
private Dictionary<string, bool> formCheckboxData = new Dictionary<string, bool>();
|
||||
|
||||
private string getDataInput(string target)
|
||||
{
|
||||
if (this.formInputData.ContainsKey(target))
|
||||
return this.formInputData[target];
|
||||
return "";
|
||||
}
|
||||
|
||||
private int getDataPop(string target)
|
||||
{
|
||||
if (this.formIntPopupData.ContainsKey(target))
|
||||
return this.formIntPopupData[target];
|
||||
return 0;
|
||||
}
|
||||
|
||||
private bool getDataCheckbox(string target)
|
||||
{
|
||||
if (this.formCheckboxData.ContainsKey(target))
|
||||
return this.formCheckboxData[target];
|
||||
return false;
|
||||
}
|
||||
|
||||
private void formCheckbox(string target, string label, string help = null, bool disable = false, Action<bool> setting = null, Action<bool> onValueChanged = 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);
|
||||
|
||||
// Toggle the checkbox value based on the disable condition
|
||||
bool newValue = EditorGUILayout.Toggle(disable ? false : formCheckboxData[target]);
|
||||
// Update the checkbox data if the value has changed and invoke the onValueChanged action
|
||||
if (newValue != formCheckboxData[target])
|
||||
{
|
||||
formCheckboxData[target] = newValue;
|
||||
onValueChanged?.Invoke(newValue);
|
||||
}
|
||||
|
||||
if (setting != null)
|
||||
{
|
||||
EditorGUILayout.LabelField("", GUILayout.Width(10));
|
||||
// 配置按钮
|
||||
if (GUILayout.Button(new GUIContent("设置"), GUILayout.Width(40), GUILayout.Height(18)))
|
||||
{
|
||||
setting?.Invoke(true);
|
||||
}
|
||||
EditorGUILayout.LabelField("", GUILayout.MinWidth(10));
|
||||
}
|
||||
|
||||
EditorGUI.EndDisabledGroup();
|
||||
|
||||
if (setting == null)
|
||||
EditorGUILayout.LabelField(string.Empty);
|
||||
GUILayout.EndHorizontal();
|
||||
}
|
||||
|
||||
private void 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 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;
|
||||
}
|
||||
|
||||
return Path.Combine(projectRootPath, path);
|
||||
}
|
||||
}
|
||||
|
||||
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 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;
|
||||
}
|
||||
|
||||
return Path.Combine(projectRootPath, path);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -120,7 +120,8 @@ namespace WeChatWASM
|
||||
CheckBuildTarget();
|
||||
Init();
|
||||
// 可能有顺序要求?如果没要求,可挪到此函数外
|
||||
if (!isPlayableBuild) {
|
||||
if (!isPlayableBuild)
|
||||
{
|
||||
ProcessWxPerfBinaries();
|
||||
}
|
||||
// iOS metal 的相关特性
|
||||
@ -410,7 +411,7 @@ namespace WeChatWASM
|
||||
return true;
|
||||
}
|
||||
|
||||
private static void ProcessWxiOSMetalBinaries()
|
||||
private static void ProcessWxiOSMetalBinaries()
|
||||
{
|
||||
string[] glLibs;
|
||||
string DS = WXAssetsTextTools.DS;
|
||||
@ -434,11 +435,11 @@ namespace WeChatWASM
|
||||
for (int i = 0; i < glLibs.Length; i++)
|
||||
{
|
||||
var importer = AssetImporter.GetAtPath(glLibs[i]) as PluginImporter;
|
||||
#if PLATFORM_WEIXINMINIGAME
|
||||
#if PLATFORM_WEIXINMINIGAME
|
||||
importer.SetCompatibleWithPlatform(BuildTarget.WeixinMiniGame, config.CompileOptions.enableiOSMetal);
|
||||
#else
|
||||
importer.SetCompatibleWithPlatform(BuildTarget.WebGL, config.CompileOptions.enableiOSMetal);
|
||||
#endif
|
||||
#else
|
||||
importer.SetCompatibleWithPlatform(BuildTarget.WebGL, config.CompileOptions.enableiOSMetal);
|
||||
#endif
|
||||
// importer.SaveAndReimport();
|
||||
SetPluginCompatibilityByModifyingMetadataFile(glLibs[i], config.CompileOptions.enableiOSMetal);
|
||||
}
|
||||
@ -577,7 +578,7 @@ namespace WeChatWASM
|
||||
}
|
||||
else
|
||||
{
|
||||
PlayerSettings.SetGraphicsAPIs(BuildTarget.WeixinMiniGame, new GraphicsDeviceType[] { GraphicsDeviceType.Metal });
|
||||
PlayerSettings.SetGraphicsAPIs(BuildTarget.WeixinMiniGame, new GraphicsDeviceType[] { GraphicsDeviceType.Metal, GraphicsDeviceType.OpenGLES2 });
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -1254,7 +1255,8 @@ namespace WeChatWASM
|
||||
|
||||
public static void convertDataPackageJS()
|
||||
{
|
||||
if (!isPlayableBuild) {
|
||||
if (!isPlayableBuild)
|
||||
{
|
||||
checkNeedRmovePackageParallelPreload();
|
||||
}
|
||||
|
||||
@ -1377,8 +1379,7 @@ namespace WeChatWASM
|
||||
var buildTemplate = new BuildTemplate(
|
||||
Path.Combine(UnityUtil.GetWxSDKRootPath(), "Runtime", defaultTemplateDir),
|
||||
Path.Combine(Application.dataPath, "WX-WASM-SDK-V2", "Editor", "template"),
|
||||
Path.Combine(config.ProjectConf.DST, miniGameDir),
|
||||
true
|
||||
Path.Combine(config.ProjectConf.DST, miniGameDir)
|
||||
);
|
||||
buildTemplate.start();
|
||||
// FIX: 2021.2版本生成symbol有bug,导出时生成symbol报错,有symbol才copy
|
||||
@ -1517,7 +1518,7 @@ namespace WeChatWASM
|
||||
var shortFilename = filename.Substring(filename.IndexOf('.') + 1);
|
||||
|
||||
// 如果code没有发生过变化,且压缩方式不变,则不再进行br压缩
|
||||
if (File.Exists(cachePath) && lastBrotliType == config.CompileOptions.brotliMT)
|
||||
if (cachePath.Contains("wasm.code") && File.Exists(cachePath) && lastBrotliType == config.CompileOptions.brotliMT)
|
||||
{
|
||||
File.Copy(cachePath, targetPath, true);
|
||||
return 0;
|
||||
@ -1710,7 +1711,8 @@ namespace WeChatWASM
|
||||
content = content.Replace("$unityVersion$", Application.unityVersion);
|
||||
File.WriteAllText(Path.Combine(dst, "unity-sdk", "index.js"), content, Encoding.UTF8);
|
||||
// content = File.ReadAllText(Path.Combine(Application.dataPath, "WX-WASM-SDK-V2", "Runtime", "wechat-default", "unity-sdk", "storage.js"), Encoding.UTF8);
|
||||
if (!isPlayableBuild) {
|
||||
if (!isPlayableBuild)
|
||||
{
|
||||
content = File.ReadAllText(Path.Combine(UnityUtil.GetWxSDKRootPath(), "Runtime", defaultTemplateDir, "unity-sdk", "storage.js"), Encoding.UTF8);
|
||||
var PreLoadKeys = config.PlayerPrefsKeys.Count > 0 ? JsonMapper.ToJson(config.PlayerPrefsKeys) : "[]";
|
||||
content = content.Replace("'$PreLoadKeys'", PreLoadKeys);
|
||||
@ -2012,11 +2014,14 @@ namespace WeChatWASM
|
||||
config.CompileOptions.enablePerfAnalysis ? "true" : "false",
|
||||
config.ProjectConf.MemorySize.ToString(),
|
||||
config.SDKOptions.disableMultiTouch ? "true" : "false",
|
||||
// Perfstream,暂时设为false
|
||||
"false"
|
||||
});
|
||||
|
||||
List<Rule> replaceList = new List<Rule>(replaceArrayList);
|
||||
List<string> files = new List<string> { "game.js", "game.json", "project.config.json", "unity-namespace.js", "check-version.js", "unity-sdk/font/index.js" };
|
||||
if (isPlayableBuild) {
|
||||
if (isPlayableBuild)
|
||||
{
|
||||
files = new List<string> { "game.js", "game.json", "project.config.json", "unity-namespace.js", "check-version.js" };
|
||||
}
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@ namespace WeChatWASM
|
||||
{
|
||||
public class WXPluginVersion
|
||||
{
|
||||
public static string pluginVersion = "202507090449"; // 这一行不要改他,导出的时候会自动替换
|
||||
public static string pluginVersion = "202507310303"; // 这一行不要改他,导出的时候会自动替换
|
||||
}
|
||||
|
||||
public class WXPluginConf
|
||||
|
||||
Binary file not shown.
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 683bd2d2ee0a44061b7f04d6af659e86
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: 96c108a9abd46465b4f94d989c127ff4
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -416,11 +416,11 @@ mergeInto(LibraryManager.library, {
|
||||
WXVideoPlay: function(id) {
|
||||
window.WXWASMSDK.WXVideoPlay(_WXPointer_stringify_adaptor(id));
|
||||
},
|
||||
WXVideoAddListener: function(id,key) {
|
||||
WXVideoAddListener: function(id, key) {
|
||||
window.WXWASMSDK.WXVideoAddListener(_WXPointer_stringify_adaptor(id), _WXPointer_stringify_adaptor(key));
|
||||
},
|
||||
WXVideoDestroy: function(id) {
|
||||
window.WXWASMSDK.WXVideoDestroy(_WXPointer_stringify_adaptor(id));
|
||||
WXVideoDestroy: function(id, isLast) {
|
||||
window.WXWASMSDK.WXVideoDestroy(_WXPointer_stringify_adaptor(id), isLast);
|
||||
},
|
||||
WXVideoExitFullScreen: function(id) {
|
||||
window.WXWASMSDK.WXVideoExitFullScreen(_WXPointer_stringify_adaptor(id));
|
||||
|
||||
@ -115,8 +115,8 @@ WX_SyncFunction_tnn: function(functionName, returnType, param1, param2){
|
||||
stringToUTF8((res || ''), buffer, bufferSize);
|
||||
return buffer;
|
||||
},
|
||||
WX_ClassOneWayFunction:function(functionName, returnType, successType, failType, completeType, conf) {
|
||||
var res = window.WXWASMSDK.WX_ClassOneWayFunction(_WXPointer_stringify_adaptor(functionName), _WXPointer_stringify_adaptor(returnType), _WXPointer_stringify_adaptor(successType), _WXPointer_stringify_adaptor(failType), _WXPointer_stringify_adaptor(completeType), _WXPointer_stringify_adaptor(conf));
|
||||
WX_ClassConstructor:function(functionName, returnType, successType, failType, completeType, conf) {
|
||||
var res = window.WXWASMSDK.WX_ClassConstructor(_WXPointer_stringify_adaptor(functionName), _WXPointer_stringify_adaptor(returnType), _WXPointer_stringify_adaptor(successType), _WXPointer_stringify_adaptor(failType), _WXPointer_stringify_adaptor(completeType), _WXPointer_stringify_adaptor(conf));
|
||||
var bufferSize = lengthBytesUTF8(res || '') + 1;
|
||||
var buffer = _malloc(bufferSize);
|
||||
stringToUTF8((res || ''), buffer, bufferSize);
|
||||
@ -156,5 +156,7 @@ WX_ClassOneWayNoFunction_vt: function(className, functionName, id, param1) {
|
||||
},
|
||||
WX_ClassOneWayNoFunction_vn: function(className, functionName, id, param1) {
|
||||
window.WXWASMSDK.WX_ClassOneWayNoFunction_vs(_WXPointer_stringify_adaptor(className), _WXPointer_stringify_adaptor(functionName), _WXPointer_stringify_adaptor(id), param1);
|
||||
},WX_ClassOneWayFunction: function(className, id, functionName, successType, failType, completeType, conf, callbackId, usePromise) {
|
||||
window.WXWASMSDK.WX_ClassOneWayFunction(_WXPointer_stringify_adaptor(className), _WXPointer_stringify_adaptor(id), _WXPointer_stringify_adaptor(functionName), _WXPointer_stringify_adaptor(successType), _WXPointer_stringify_adaptor(failType), _WXPointer_stringify_adaptor(completeType), _WXPointer_stringify_adaptor(conf), _WXPointer_stringify_adaptor(callbackId), usePromise);
|
||||
},
|
||||
})
|
||||
55
Runtime/Plugins/WxGameDataMonitor.jslib
Normal file
55
Runtime/Plugins/WxGameDataMonitor.jslib
Normal file
@ -0,0 +1,55 @@
|
||||
mergeInto(LibraryManager.library, {
|
||||
JSStartGameDataMonitor: function() {
|
||||
console.log("call JSStartGameDataMonitor \n");
|
||||
|
||||
if (typeof GameGlobal.manager.getGameDataMonitor === 'function')
|
||||
{
|
||||
GameGlobal.manager.getGameDataMonitor().start();
|
||||
}
|
||||
else
|
||||
{
|
||||
console.log("GameGlobal.manager.getGameDataMonitor is not a function \n");
|
||||
}
|
||||
},
|
||||
JSReportUnityProfileData: function(
|
||||
targetFrameRate, // fps.
|
||||
monoHeapReserved, monoHeapUsed, nativeReserved, nativeUnused, nativeAllocated, // profiler.
|
||||
setPassCalls, drawCalls, vertices, trianglesCount // render.
|
||||
) {
|
||||
console.log("call JSReportUnityProfileData \n");
|
||||
let report_data = {
|
||||
timestamp: new Date().getTime(),
|
||||
fps: {
|
||||
targetFrameRate: targetFrameRate,
|
||||
avgEXFrameTime: _WXGetEXFrameTime(),
|
||||
},
|
||||
profiler: {
|
||||
monoHeapReserved: monoHeapReserved,
|
||||
monoHeapUsed: monoHeapUsed,
|
||||
nativeReserved: nativeReserved,
|
||||
nativeUnused: nativeUnused,
|
||||
nativeAllocated: nativeAllocated,
|
||||
},
|
||||
render: {
|
||||
setPassCalls: setPassCalls,
|
||||
drawCalls: drawCalls,
|
||||
vertices: vertices,
|
||||
trianglesCount: trianglesCount,
|
||||
},
|
||||
webassembly: {
|
||||
totalHeapMemory: _WXGetTotalMemorySize(),
|
||||
dynamicMemory: _WXGetDynamicMemorySize(),
|
||||
usedHeapMemory: _WXGetUsedMemorySize(),
|
||||
unAllocatedMemory: _WXGetUnAllocatedMemorySize(),
|
||||
},
|
||||
assetbundle: {
|
||||
numberInMemory: _WXGetBundleNumberInMemory(),
|
||||
numberOnDisk: _WXGetBundleNumberOnDisk(),
|
||||
sizeInMemory: _WXGetBundleSizeInMemory(),
|
||||
sizeOnDisk: _WXGetBundleSizeOnDisk(),
|
||||
}
|
||||
}
|
||||
|
||||
GameGlobal.manager.getGameDataMonitor().reportUnityProfileData(report_data)
|
||||
},
|
||||
});
|
||||
79
Runtime/Plugins/WxGameDataMonitor.jslib.meta
Normal file
79
Runtime/Plugins/WxGameDataMonitor.jslib.meta
Normal file
@ -0,0 +1,79 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 63a9d4fa9c3846e3704029822b94973f
|
||||
PluginImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
iconMap: {}
|
||||
executionOrder: {}
|
||||
defineConstraints: []
|
||||
isPreloaded: 0
|
||||
isOverridable: 0
|
||||
isExplicitlyReferenced: 0
|
||||
validateReferences: 1
|
||||
platformData:
|
||||
- first:
|
||||
: Any
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
Exclude Editor: 1
|
||||
Exclude Linux64: 1
|
||||
Exclude OSXUniversal: 1
|
||||
Exclude WeixinMiniGame: 1
|
||||
Exclude Win: 1
|
||||
Exclude Win64: 1
|
||||
- first:
|
||||
Any:
|
||||
second:
|
||||
enabled: 0
|
||||
settings: {}
|
||||
- first:
|
||||
Editor: Editor
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
DefaultValueInitialized: true
|
||||
OS: AnyOS
|
||||
- first:
|
||||
Facebook: WebGL
|
||||
second:
|
||||
enabled: 0
|
||||
settings: {}
|
||||
- first:
|
||||
Standalone: Linux64
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
- first:
|
||||
Standalone: OSXUniversal
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: None
|
||||
- first:
|
||||
Standalone: Win
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: x86
|
||||
- first:
|
||||
Standalone: Win64
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: x86_64
|
||||
- first:
|
||||
WebGL: WebGL
|
||||
second:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
- first:
|
||||
WeixinMiniGame: WeixinMiniGame
|
||||
second:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
Binary file not shown.
@ -1749,116 +1749,126 @@
|
||||
视频的总时长,单位为秒
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.WXCreateVideoParam.x">
|
||||
<summary>
|
||||
视频的左上角横坐标
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.WXCreateVideoParam.y">
|
||||
<summary>
|
||||
视频的左上角纵坐标
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.WXCreateVideoParam.width">
|
||||
<summary>
|
||||
视频的宽度
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.WXCreateVideoParam.height">
|
||||
<summary>
|
||||
视频的高度
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.WXCreateVideoParam.src">
|
||||
<member name="F:WeChatWASM.CreateVideoOption.src">
|
||||
<summary>
|
||||
视频的资源地址
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.WXCreateVideoParam.poster">
|
||||
<summary>
|
||||
视频的封面
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.WXCreateVideoParam.initialTime">
|
||||
<summary>
|
||||
视频的初始播放位置,单位为 s 秒
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.WXCreateVideoParam.playbackRate">
|
||||
<summary>
|
||||
视频的播放速率,有效值有 0.5、0.8、1.0、1.25、1.5
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.WXCreateVideoParam.live">
|
||||
<summary>
|
||||
视频是否为直播
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.WXCreateVideoParam.objectFit">
|
||||
<summary>
|
||||
视频的缩放模式
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.WXCreateVideoParam.controls">
|
||||
<summary>
|
||||
视频是否显示控件
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.WXCreateVideoParam.showProgress">
|
||||
<summary>
|
||||
是否显示视频底部进度条
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.WXCreateVideoParam.showProgressInControlMode">
|
||||
<summary>
|
||||
是否显示控制栏的进度条
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.WXCreateVideoParam.backgroundColor">
|
||||
<summary>
|
||||
视频背景颜色
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.WXCreateVideoParam.autoplay">
|
||||
<member name="F:WeChatWASM.CreateVideoOption.autoplay">
|
||||
<summary>
|
||||
视频是否自动播放
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.WXCreateVideoParam.loop">
|
||||
<member name="F:WeChatWASM.CreateVideoOption.backgroundColor">
|
||||
<summary>
|
||||
视频是否是否循环播放
|
||||
视频背景颜色
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.WXCreateVideoParam.muted">
|
||||
<member name="F:WeChatWASM.CreateVideoOption.controls">
|
||||
<summary>
|
||||
视频是否禁音播放
|
||||
视频是否显示控件
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.WXCreateVideoParam.obeyMuteSwitch">
|
||||
<summary>
|
||||
视频是否遵循系统静音开关设置(仅iOS)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.WXCreateVideoParam.enableProgressGesture">
|
||||
<summary>
|
||||
是否启用手势控制播放进度
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.WXCreateVideoParam.enablePlayGesture">
|
||||
<member name="F:WeChatWASM.CreateVideoOption.enablePlayGesture">
|
||||
<summary>
|
||||
是否开启双击播放的手势
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.WXCreateVideoParam.showCenterPlayBtn">
|
||||
<member name="F:WeChatWASM.CreateVideoOption.enableProgressGesture">
|
||||
<summary>
|
||||
是否启用手势控制播放进度
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.CreateVideoOption.height">
|
||||
<summary>
|
||||
视频的高度
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.CreateVideoOption.initialTime">
|
||||
<summary>
|
||||
视频的初始播放位置,单位为 s 秒
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.CreateVideoOption.live">
|
||||
<summary>
|
||||
视频是否为直播
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.CreateVideoOption.loop">
|
||||
<summary>
|
||||
视频是否是否循环播放
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.CreateVideoOption.muted">
|
||||
<summary>
|
||||
视频是否禁音播放
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.CreateVideoOption.obeyMuteSwitch">
|
||||
<summary>
|
||||
视频是否遵循系统静音开关设置(仅iOS)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.CreateVideoOption.objectFit">
|
||||
<summary>
|
||||
视频的缩放模式
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.CreateVideoOption.playbackRate">
|
||||
<summary>
|
||||
视频的播放速率,有效值有 0.5、0.8、1.0、1.25、1.5
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.CreateVideoOption.poster">
|
||||
<summary>
|
||||
视频的封面
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.CreateVideoOption.showCenterPlayBtn">
|
||||
<summary>
|
||||
是否显示视频中央的播放按钮
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.WXCreateVideoParam.underGameView">
|
||||
<member name="F:WeChatWASM.CreateVideoOption.showProgress">
|
||||
<summary>
|
||||
是否显示视频底部进度条
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.CreateVideoOption.showProgressInControlMode">
|
||||
<summary>
|
||||
是否显示控制栏的进度条
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.CreateVideoOption.width">
|
||||
<summary>
|
||||
视频的宽度
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.CreateVideoOption.x">
|
||||
<summary>
|
||||
视频的左上角横坐标
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.CreateVideoOption.y">
|
||||
<summary>
|
||||
视频的左上角纵坐标
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.CreateVideoOption.underGameView">
|
||||
<summary>
|
||||
视频是否显示在游戏画布之下
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.CreateVideoOption.autoPauseIfNavigate">
|
||||
<summary>
|
||||
视频跳转后自动暂停播放
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.CreateVideoOption.autoPauseIfOpenNative">
|
||||
<summary>
|
||||
视频跳转原生页后自动暂停播放
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.EnvVersion.develop">
|
||||
<summary>
|
||||
开发版
|
||||
@ -3109,6 +3119,120 @@
|
||||
是否结束
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.LoadOption.openlink">
|
||||
<summary>
|
||||
从不同渠道获得的OPENLINK字符串
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.LoadOption.query">
|
||||
<summary>
|
||||
选填,部分活动、功能允许接收自定义query参数,请参阅渠道说明,默认可不填
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.ShowOption.openlink">
|
||||
<summary>
|
||||
从不同渠道获得的OPENLINK字符串
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.ShowOption.query">
|
||||
<summary>
|
||||
选填,部分活动、功能允许接收自定义query参数,请参阅渠道说明,默认可不填
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.VirtualPaymentError.errMsg">
|
||||
错误信息
|
||||
|
||||
| 错误码 | 错误信息 | 说明 |
|
||||
| - | - | - |
|
||||
| 1001 | | 参数错误 |
|
||||
| -1 | | 支付失败 |
|
||||
| -2 | | 支付取消 |
|
||||
| -4 | | 风控拦截 |
|
||||
| -5 | | 开通签约结果未知 |
|
||||
| -15001 | | 参数错误,具体原因见err_msg |
|
||||
| -15002 | | outTradeNo重复使用,请换新单号重试 |
|
||||
| -15003 | | 系统错误 |
|
||||
| -15004 | | currencyType错误,目前只能填CNY |
|
||||
| -15005 | | 用户态签名signature错误 |
|
||||
| -15006 | | 支付签名paySig错误 |
|
||||
| -15007 | | session_key过期 |
|
||||
| -15008 | | 二级商户进件未完成 |
|
||||
| -15009 | | 代币未发布 |
|
||||
| -15010 | | 道具productId未发布 |
|
||||
| -15011 | | 现网版本的env只能是0,不能填1(沙盒环境) |
|
||||
| -15012 | | 调用米大师失败导致关单,请换新单号重试 |
|
||||
| -15013 | | goodsPrice道具价格错误 |
|
||||
| -15014 | | 道具/代币发布未生效,禁止下单,大概10分钟后生效 |
|
||||
| -15016 | | signData格式有问题 |
|
||||
| -15017 | | 此商家涉嫌违规,收款功能已被限制,暂无法支付。商家可以登录微信商户平台/微信支付商家助手小程序查看原因和解决方案 |
|
||||
| -15018 | | 代币或者道具productId审核不通过 |
|
||||
| -15019 | | 调微信报商户受限,商家可以登录微信商户平台/微信支付商家助手小程序查看原因和解决方案 |
|
||||
| -15020 | | 操作过快,请稍候再试 |
|
||||
| -15021 | | 小程序被限频交易 |
|
||||
</member>
|
||||
<member name="F:WeChatWASM.VirtualPaymentError.errCode">
|
||||
错误码
|
||||
|
||||
| 错误码 | 错误信息 | 说明 |
|
||||
| - | - | - |
|
||||
| 1001 | | 参数错误 |
|
||||
| -1 | | 支付失败 |
|
||||
| -2 | | 支付取消 |
|
||||
| -4 | | 风控拦截 |
|
||||
| -5 | | 开通签约结果未知 |
|
||||
| -15001 | | 参数错误,具体原因见err_msg |
|
||||
| -15002 | | outTradeNo重复使用,请换新单号重试 |
|
||||
| -15003 | | 系统错误 |
|
||||
| -15004 | | currencyType错误,目前只能填CNY |
|
||||
| -15005 | | 用户态签名signature错误 |
|
||||
| -15006 | | 支付签名paySig错误 |
|
||||
| -15007 | | session_key过期 |
|
||||
| -15008 | | 二级商户进件未完成 |
|
||||
| -15009 | | 代币未发布 |
|
||||
| -15010 | | 道具productId未发布 |
|
||||
| -15011 | | 现网版本的env只能是0,不能填1(沙盒环境) |
|
||||
| -15012 | | 调用米大师失败导致关单,请换新单号重试 |
|
||||
| -15013 | | goodsPrice道具价格错误 |
|
||||
| -15014 | | 道具/代币发布未生效,禁止下单,大概10分钟后生效 |
|
||||
| -15016 | | signData格式有问题 |
|
||||
| -15017 | | 此商家涉嫌违规,收款功能已被限制,暂无法支付。商家可以登录微信商户平台/微信支付商家助手小程序查看原因和解决方案 |
|
||||
| -15018 | | 代币或者道具productId审核不通过 |
|
||||
| -15019 | | 调微信报商户受限,商家可以登录微信商户平台/微信支付商家助手小程序查看原因和解决方案 |
|
||||
| -15020 | | 操作过快,请稍候再试 |
|
||||
| -15021 | | 小程序被限频交易 |
|
||||
</member>
|
||||
<member name="F:WeChatWASM.RequestVirtualPaymentFailCallbackErr.errCode">
|
||||
错误码
|
||||
</member>
|
||||
<member name="F:WeChatWASM.RequestVirtualPaymentFailCallbackErr.errMsg">
|
||||
错误信息
|
||||
</member>
|
||||
<member name="F:WeChatWASM.RequestCommonPaymentSuccessCallbackResult.errMsg">
|
||||
调用成功信息
|
||||
</member>
|
||||
<member name="F:WeChatWASM.RequestVirtualPaymentOption.mode">
|
||||
<summary>
|
||||
支付的类型, 不同的支付类型有各自额外要传的附加参数
|
||||
可选值:
|
||||
- 'short_series_goods': 道具直购;
|
||||
- 'short_series_coin': 代币充值;
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.RequestVirtualPaymentOption.paySig">
|
||||
<summary>
|
||||
支付签名, 详见[《签名详解》](https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/industry/virtual-payment.html)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.RequestVirtualPaymentOption.signData">
|
||||
<summary>
|
||||
具体支付参数见signData, 该参数需以string形式传递, 例如signData: '{"offerId":"123","buyQuantity":1,"env":0,"currencyType":"CNY","productId":"testproductId","goodsPrice":10,"outTradeNo":"xxxxxx","attach":"testdata"}'
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.RequestVirtualPaymentOption.signature">
|
||||
<summary>
|
||||
用户态签名, 详见[《签名详解》](https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/industry/virtual-payment.html)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.Gamepad.axes">
|
||||
<summary>
|
||||
一个表示控制器设备上存在的坐标轴的数组 (比如控制器摇杆)。
|
||||
@ -4103,26 +4227,6 @@
|
||||
取值为0/1,取值为0表示会把 `App`、`Page` 的生命周期函数和 `wx` 命名空间下的函数调用写入日志,取值为1则不会。默认值是 0
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.LoadOption.openlink">
|
||||
<summary>
|
||||
从不同渠道获得的OPENLINK字符串
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.LoadOption.query">
|
||||
<summary>
|
||||
选填,部分活动、功能允许接收自定义query参数,请参阅渠道说明,默认可不填
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.ShowOption.openlink">
|
||||
<summary>
|
||||
从不同渠道获得的OPENLINK字符串
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.ShowOption.query">
|
||||
<summary>
|
||||
选填,部分活动、功能允许接收自定义query参数,请参阅渠道说明,默认可不填
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.OnCheckForUpdateListenerResult.hasUpdate">
|
||||
<summary>
|
||||
是否有新版本
|
||||
@ -8509,22 +8613,44 @@
|
||||
显示用户信息按钮
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:WeChatWASM.WXVideo">
|
||||
<summary>
|
||||
微信小游戏视频组件
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.WXVideo._Dict">
|
||||
<summary>
|
||||
视频实例字典 (内部使用,请不要访问)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.WXVideo.instanceId">
|
||||
<summary>
|
||||
视频实例ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.WXVideo.param">
|
||||
<summary>
|
||||
视频创建参数
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.WXVideo.#ctor(System.String,WeChatWASM.CreateVideoOption)">
|
||||
<summary>
|
||||
创建视频实例
|
||||
</summary>
|
||||
<param name="id">实例ID</param>
|
||||
<param name="param">创建参数</param>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.WXVideo.InitializeProperties">
|
||||
<summary>
|
||||
初始化属性
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.WXVideo._HandleCallBack(WeChatWASM.WXVideoCallback)">
|
||||
<summary>
|
||||
内部函数,请不要调用
|
||||
</summary>
|
||||
<param name="key"></param>
|
||||
</member>
|
||||
<member name="P:WeChatWASM.WXVideo.src">
|
||||
<summary>
|
||||
视频的资源地址
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WeChatWASM.WXVideo.poster">
|
||||
<summary>
|
||||
视频的封面
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WeChatWASM.WXVideo.x">
|
||||
<summary>
|
||||
视频的左上角横坐标
|
||||
@ -8545,9 +8671,69 @@
|
||||
视频的高度
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WeChatWASM.WXVideo.isPlaying">
|
||||
<member name="P:WeChatWASM.WXVideo.src">
|
||||
<summary>
|
||||
Gets a value indicating whether 是否正在播放
|
||||
视频的资源地址
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WeChatWASM.WXVideo.poster">
|
||||
<summary>
|
||||
视频的封面
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WeChatWASM.WXVideo.live">
|
||||
<summary>
|
||||
是否为直播
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WeChatWASM.WXVideo.objectFit">
|
||||
<summary>
|
||||
当视频大小与 video 容器大小不一致时,视频的表现形式
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WeChatWASM.WXVideo.controls">
|
||||
<summary>
|
||||
是否显示默认播放控件(播放/暂停按钮、播放进度、时间)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WeChatWASM.WXVideo.showProgress">
|
||||
<summary>
|
||||
是否显示播放进度
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WeChatWASM.WXVideo.showProgressInControlMode">
|
||||
<summary>
|
||||
在非全屏模式下,是否开启亮度和音量调节手势
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WeChatWASM.WXVideo.backgroundColor">
|
||||
<summary>
|
||||
视频的背景色
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WeChatWASM.WXVideo.obeyMuteSwitch">
|
||||
<summary>
|
||||
是否遵循系统静音开关
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WeChatWASM.WXVideo.enableProgressGesture">
|
||||
<summary>
|
||||
是否开启控制进度的手势
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WeChatWASM.WXVideo.enablePlayGesture">
|
||||
<summary>
|
||||
是否开启播放手势
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WeChatWASM.WXVideo.showCenterPlayBtn">
|
||||
<summary>
|
||||
是否显示视频中间的播放按钮
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.WXVideo.Destroy">
|
||||
<summary>
|
||||
销毁当前实例
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.WXVideo.Play">
|
||||
@ -8555,44 +8741,31 @@
|
||||
播放视频
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.WXVideo.OnPlay(System.Action)">
|
||||
<member name="M:WeChatWASM.WXVideo.Pause">
|
||||
<summary>
|
||||
监听视频播放事件
|
||||
暂停
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.WXVideo.OffPlay(System.Action)">
|
||||
<member name="M:WeChatWASM.WXVideo.Stop">
|
||||
<summary>
|
||||
取消监听视频播放事件,action 为空表示移除全部事件监听
|
||||
停止视频
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.WXVideo.OnEnded(System.Action)">
|
||||
<member name="M:WeChatWASM.WXVideo.Seek(System.Int32)">
|
||||
<summary>
|
||||
监听视频播放到末尾事件
|
||||
视频跳转
|
||||
</summary>
|
||||
<param name="time">视频跳转到指定位置,单位为 s 秒</param>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.WXVideo.OffEnded(System.Action)">
|
||||
<member name="M:WeChatWASM.WXVideo.RequestFullScreen(System.Int32)">
|
||||
<summary>
|
||||
取消监听视频播放到末尾事件
|
||||
视频全屏
|
||||
</summary>
|
||||
<param name="direction">设置全屏时视频的方向 0: 正常竖向, 90: 屏幕逆时针90度 . -90: 屏幕顺时针90度</param>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.WXVideo.OnError(System.Action)">
|
||||
<member name="M:WeChatWASM.WXVideo.ExitFullScreen">
|
||||
<summary>
|
||||
监听视频错误事件
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.WXVideo.OffError(System.Action)">
|
||||
<summary>
|
||||
取消监听视频错误事件,action 为空表示移除全部事件监听
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.WXVideo.OnPause(System.Action)">
|
||||
<summary>
|
||||
监听视频暂停事件
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.WXVideo.OffPause(System.Action)">
|
||||
<summary>
|
||||
取消监听视频暂停事件,action 为空表示移除全部事件监听
|
||||
视频退出全屏
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.WXVideo.OnWaiting(System.Action)">
|
||||
@ -8605,36 +8778,45 @@
|
||||
取消监听视频由于需要缓冲下一帧而停止时触发,action 为空表示移除全部事件监听
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.WXVideo.Destroy">
|
||||
<member name="M:WeChatWASM.WXVideo.OnProgress(System.Action{WeChatWASM.WXVideoProgress})">
|
||||
<summary>
|
||||
销毁当前实例
|
||||
监听视频下载(缓冲)事件
|
||||
</summary>
|
||||
<param name="action"></param>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.WXVideo.OffProgress(System.Action{WeChatWASM.WXVideoProgress})">
|
||||
<summary>
|
||||
取消监听视频下载(缓冲)事件 ,action 为空表示移除全部事件监听
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.WXVideo.ExitFullScreen">
|
||||
<member name="M:WeChatWASM.WXVideo.OnPlay(System.Action)">
|
||||
<summary>
|
||||
视频退出全屏
|
||||
监听视频播放事件
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.WXVideo.Pause">
|
||||
<member name="M:WeChatWASM.WXVideo.OffPlay(System.Action)">
|
||||
<summary>
|
||||
暂停
|
||||
取消监听视频播放事件,action 为空表示移除全部事件监听
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.WXVideo.RequestFullScreen(System.Int32)">
|
||||
<member name="M:WeChatWASM.WXVideo.OnPause(System.Action)">
|
||||
<summary>
|
||||
视频全屏
|
||||
监听视频暂停事件
|
||||
</summary>
|
||||
<param name="direction">设置全屏时视频的方向 0: 正常竖向, 90: 屏幕逆时针90度 . -90: 屏幕顺时针90度</param>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.WXVideo.Seek(System.Int32)">
|
||||
<member name="M:WeChatWASM.WXVideo.OffPause(System.Action)">
|
||||
<summary>
|
||||
视频跳转
|
||||
取消监听视频暂停事件,action 为空表示移除全部事件监听
|
||||
</summary>
|
||||
<param name="time">视频跳转到指定位置,单位为 s 秒</param>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.WXVideo.Stop">
|
||||
<member name="M:WeChatWASM.WXVideo.OnEnded(System.Action)">
|
||||
<summary>
|
||||
停止视频
|
||||
监听视频播放到末尾事件
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.WXVideo.OffEnded(System.Action)">
|
||||
<summary>
|
||||
取消监听视频播放到末尾事件
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.WXVideo.OnTimeUpdate(System.Action{WeChatWASM.WXVideoTimeUpdate})">
|
||||
@ -8648,15 +8830,14 @@
|
||||
取消监听视频播放进度更新事件,action 为空表示移除全部事件监听
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.WXVideo.OnProgress(System.Action{WeChatWASM.WXVideoProgress})">
|
||||
<member name="M:WeChatWASM.WXVideo.OnError(System.Action{WeChatWASM.WXVideoError})">
|
||||
<summary>
|
||||
监听视频下载(缓冲)事件
|
||||
监听视频错误事件
|
||||
</summary>
|
||||
<param name="action"></param>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.WXVideo.OffProgress(System.Action{WeChatWASM.WXVideoProgress})">
|
||||
<member name="M:WeChatWASM.WXVideo.OffError(System.Action{WeChatWASM.WXVideoError})">
|
||||
<summary>
|
||||
取消监听视频下载(缓冲)事件 ,action 为空表示移除全部事件监听
|
||||
取消监听视频错误事件,action 为空表示移除全部事件监听
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.WXVideoDecoder.GetFrameData">
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 24b29384eaa41428ab813a2114ce2e82
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: 5f794d9d06efafeebd2a7902e33bf4c4
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@ -1755,116 +1755,126 @@
|
||||
视频的总时长,单位为秒
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.WXCreateVideoParam.x">
|
||||
<summary>
|
||||
视频的左上角横坐标
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.WXCreateVideoParam.y">
|
||||
<summary>
|
||||
视频的左上角纵坐标
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.WXCreateVideoParam.width">
|
||||
<summary>
|
||||
视频的宽度
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.WXCreateVideoParam.height">
|
||||
<summary>
|
||||
视频的高度
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.WXCreateVideoParam.src">
|
||||
<member name="F:WeChatWASM.CreateVideoOption.src">
|
||||
<summary>
|
||||
视频的资源地址
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.WXCreateVideoParam.poster">
|
||||
<summary>
|
||||
视频的封面
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.WXCreateVideoParam.initialTime">
|
||||
<summary>
|
||||
视频的初始播放位置,单位为 s 秒
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.WXCreateVideoParam.playbackRate">
|
||||
<summary>
|
||||
视频的播放速率,有效值有 0.5、0.8、1.0、1.25、1.5
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.WXCreateVideoParam.live">
|
||||
<summary>
|
||||
视频是否为直播
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.WXCreateVideoParam.objectFit">
|
||||
<summary>
|
||||
视频的缩放模式
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.WXCreateVideoParam.controls">
|
||||
<summary>
|
||||
视频是否显示控件
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.WXCreateVideoParam.showProgress">
|
||||
<summary>
|
||||
是否显示视频底部进度条
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.WXCreateVideoParam.showProgressInControlMode">
|
||||
<summary>
|
||||
是否显示控制栏的进度条
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.WXCreateVideoParam.backgroundColor">
|
||||
<summary>
|
||||
视频背景颜色
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.WXCreateVideoParam.autoplay">
|
||||
<member name="F:WeChatWASM.CreateVideoOption.autoplay">
|
||||
<summary>
|
||||
视频是否自动播放
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.WXCreateVideoParam.loop">
|
||||
<member name="F:WeChatWASM.CreateVideoOption.backgroundColor">
|
||||
<summary>
|
||||
视频是否是否循环播放
|
||||
视频背景颜色
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.WXCreateVideoParam.muted">
|
||||
<member name="F:WeChatWASM.CreateVideoOption.controls">
|
||||
<summary>
|
||||
视频是否禁音播放
|
||||
视频是否显示控件
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.WXCreateVideoParam.obeyMuteSwitch">
|
||||
<summary>
|
||||
视频是否遵循系统静音开关设置(仅iOS)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.WXCreateVideoParam.enableProgressGesture">
|
||||
<summary>
|
||||
是否启用手势控制播放进度
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.WXCreateVideoParam.enablePlayGesture">
|
||||
<member name="F:WeChatWASM.CreateVideoOption.enablePlayGesture">
|
||||
<summary>
|
||||
是否开启双击播放的手势
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.WXCreateVideoParam.showCenterPlayBtn">
|
||||
<member name="F:WeChatWASM.CreateVideoOption.enableProgressGesture">
|
||||
<summary>
|
||||
是否启用手势控制播放进度
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.CreateVideoOption.height">
|
||||
<summary>
|
||||
视频的高度
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.CreateVideoOption.initialTime">
|
||||
<summary>
|
||||
视频的初始播放位置,单位为 s 秒
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.CreateVideoOption.live">
|
||||
<summary>
|
||||
视频是否为直播
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.CreateVideoOption.loop">
|
||||
<summary>
|
||||
视频是否是否循环播放
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.CreateVideoOption.muted">
|
||||
<summary>
|
||||
视频是否禁音播放
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.CreateVideoOption.obeyMuteSwitch">
|
||||
<summary>
|
||||
视频是否遵循系统静音开关设置(仅iOS)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.CreateVideoOption.objectFit">
|
||||
<summary>
|
||||
视频的缩放模式
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.CreateVideoOption.playbackRate">
|
||||
<summary>
|
||||
视频的播放速率,有效值有 0.5、0.8、1.0、1.25、1.5
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.CreateVideoOption.poster">
|
||||
<summary>
|
||||
视频的封面
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.CreateVideoOption.showCenterPlayBtn">
|
||||
<summary>
|
||||
是否显示视频中央的播放按钮
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.WXCreateVideoParam.underGameView">
|
||||
<member name="F:WeChatWASM.CreateVideoOption.showProgress">
|
||||
<summary>
|
||||
是否显示视频底部进度条
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.CreateVideoOption.showProgressInControlMode">
|
||||
<summary>
|
||||
是否显示控制栏的进度条
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.CreateVideoOption.width">
|
||||
<summary>
|
||||
视频的宽度
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.CreateVideoOption.x">
|
||||
<summary>
|
||||
视频的左上角横坐标
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.CreateVideoOption.y">
|
||||
<summary>
|
||||
视频的左上角纵坐标
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.CreateVideoOption.underGameView">
|
||||
<summary>
|
||||
视频是否显示在游戏画布之下
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.CreateVideoOption.autoPauseIfNavigate">
|
||||
<summary>
|
||||
视频跳转后自动暂停播放
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.CreateVideoOption.autoPauseIfOpenNative">
|
||||
<summary>
|
||||
视频跳转原生页后自动暂停播放
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.EnvVersion.develop">
|
||||
<summary>
|
||||
开发版
|
||||
@ -3115,6 +3125,120 @@
|
||||
是否结束
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.LoadOption.openlink">
|
||||
<summary>
|
||||
从不同渠道获得的OPENLINK字符串
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.LoadOption.query">
|
||||
<summary>
|
||||
选填,部分活动、功能允许接收自定义query参数,请参阅渠道说明,默认可不填
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.ShowOption.openlink">
|
||||
<summary>
|
||||
从不同渠道获得的OPENLINK字符串
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.ShowOption.query">
|
||||
<summary>
|
||||
选填,部分活动、功能允许接收自定义query参数,请参阅渠道说明,默认可不填
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.VirtualPaymentError.errMsg">
|
||||
错误信息
|
||||
|
||||
| 错误码 | 错误信息 | 说明 |
|
||||
| - | - | - |
|
||||
| 1001 | | 参数错误 |
|
||||
| -1 | | 支付失败 |
|
||||
| -2 | | 支付取消 |
|
||||
| -4 | | 风控拦截 |
|
||||
| -5 | | 开通签约结果未知 |
|
||||
| -15001 | | 参数错误,具体原因见err_msg |
|
||||
| -15002 | | outTradeNo重复使用,请换新单号重试 |
|
||||
| -15003 | | 系统错误 |
|
||||
| -15004 | | currencyType错误,目前只能填CNY |
|
||||
| -15005 | | 用户态签名signature错误 |
|
||||
| -15006 | | 支付签名paySig错误 |
|
||||
| -15007 | | session_key过期 |
|
||||
| -15008 | | 二级商户进件未完成 |
|
||||
| -15009 | | 代币未发布 |
|
||||
| -15010 | | 道具productId未发布 |
|
||||
| -15011 | | 现网版本的env只能是0,不能填1(沙盒环境) |
|
||||
| -15012 | | 调用米大师失败导致关单,请换新单号重试 |
|
||||
| -15013 | | goodsPrice道具价格错误 |
|
||||
| -15014 | | 道具/代币发布未生效,禁止下单,大概10分钟后生效 |
|
||||
| -15016 | | signData格式有问题 |
|
||||
| -15017 | | 此商家涉嫌违规,收款功能已被限制,暂无法支付。商家可以登录微信商户平台/微信支付商家助手小程序查看原因和解决方案 |
|
||||
| -15018 | | 代币或者道具productId审核不通过 |
|
||||
| -15019 | | 调微信报商户受限,商家可以登录微信商户平台/微信支付商家助手小程序查看原因和解决方案 |
|
||||
| -15020 | | 操作过快,请稍候再试 |
|
||||
| -15021 | | 小程序被限频交易 |
|
||||
</member>
|
||||
<member name="F:WeChatWASM.VirtualPaymentError.errCode">
|
||||
错误码
|
||||
|
||||
| 错误码 | 错误信息 | 说明 |
|
||||
| - | - | - |
|
||||
| 1001 | | 参数错误 |
|
||||
| -1 | | 支付失败 |
|
||||
| -2 | | 支付取消 |
|
||||
| -4 | | 风控拦截 |
|
||||
| -5 | | 开通签约结果未知 |
|
||||
| -15001 | | 参数错误,具体原因见err_msg |
|
||||
| -15002 | | outTradeNo重复使用,请换新单号重试 |
|
||||
| -15003 | | 系统错误 |
|
||||
| -15004 | | currencyType错误,目前只能填CNY |
|
||||
| -15005 | | 用户态签名signature错误 |
|
||||
| -15006 | | 支付签名paySig错误 |
|
||||
| -15007 | | session_key过期 |
|
||||
| -15008 | | 二级商户进件未完成 |
|
||||
| -15009 | | 代币未发布 |
|
||||
| -15010 | | 道具productId未发布 |
|
||||
| -15011 | | 现网版本的env只能是0,不能填1(沙盒环境) |
|
||||
| -15012 | | 调用米大师失败导致关单,请换新单号重试 |
|
||||
| -15013 | | goodsPrice道具价格错误 |
|
||||
| -15014 | | 道具/代币发布未生效,禁止下单,大概10分钟后生效 |
|
||||
| -15016 | | signData格式有问题 |
|
||||
| -15017 | | 此商家涉嫌违规,收款功能已被限制,暂无法支付。商家可以登录微信商户平台/微信支付商家助手小程序查看原因和解决方案 |
|
||||
| -15018 | | 代币或者道具productId审核不通过 |
|
||||
| -15019 | | 调微信报商户受限,商家可以登录微信商户平台/微信支付商家助手小程序查看原因和解决方案 |
|
||||
| -15020 | | 操作过快,请稍候再试 |
|
||||
| -15021 | | 小程序被限频交易 |
|
||||
</member>
|
||||
<member name="F:WeChatWASM.RequestVirtualPaymentFailCallbackErr.errCode">
|
||||
错误码
|
||||
</member>
|
||||
<member name="F:WeChatWASM.RequestVirtualPaymentFailCallbackErr.errMsg">
|
||||
错误信息
|
||||
</member>
|
||||
<member name="F:WeChatWASM.RequestCommonPaymentSuccessCallbackResult.errMsg">
|
||||
调用成功信息
|
||||
</member>
|
||||
<member name="F:WeChatWASM.RequestVirtualPaymentOption.mode">
|
||||
<summary>
|
||||
支付的类型, 不同的支付类型有各自额外要传的附加参数
|
||||
可选值:
|
||||
- 'short_series_goods': 道具直购;
|
||||
- 'short_series_coin': 代币充值;
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.RequestVirtualPaymentOption.paySig">
|
||||
<summary>
|
||||
支付签名, 详见[《签名详解》](https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/industry/virtual-payment.html)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.RequestVirtualPaymentOption.signData">
|
||||
<summary>
|
||||
具体支付参数见signData, 该参数需以string形式传递, 例如signData: '{"offerId":"123","buyQuantity":1,"env":0,"currencyType":"CNY","productId":"testproductId","goodsPrice":10,"outTradeNo":"xxxxxx","attach":"testdata"}'
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.RequestVirtualPaymentOption.signature">
|
||||
<summary>
|
||||
用户态签名, 详见[《签名详解》](https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/industry/virtual-payment.html)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.Gamepad.axes">
|
||||
<summary>
|
||||
一个表示控制器设备上存在的坐标轴的数组 (比如控制器摇杆)。
|
||||
@ -4109,26 +4233,6 @@
|
||||
取值为0/1,取值为0表示会把 `App`、`Page` 的生命周期函数和 `wx` 命名空间下的函数调用写入日志,取值为1则不会。默认值是 0
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.LoadOption.openlink">
|
||||
<summary>
|
||||
从不同渠道获得的OPENLINK字符串
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.LoadOption.query">
|
||||
<summary>
|
||||
选填,部分活动、功能允许接收自定义query参数,请参阅渠道说明,默认可不填
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.ShowOption.openlink">
|
||||
<summary>
|
||||
从不同渠道获得的OPENLINK字符串
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.ShowOption.query">
|
||||
<summary>
|
||||
选填,部分活动、功能允许接收自定义query参数,请参阅渠道说明,默认可不填
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.OnCheckForUpdateListenerResult.hasUpdate">
|
||||
<summary>
|
||||
是否有新版本
|
||||
@ -8515,22 +8619,44 @@
|
||||
显示用户信息按钮
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:WeChatWASM.WXVideo">
|
||||
<summary>
|
||||
微信小游戏视频组件
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.WXVideo._Dict">
|
||||
<summary>
|
||||
视频实例字典 (内部使用,请不要访问)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.WXVideo.instanceId">
|
||||
<summary>
|
||||
视频实例ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WeChatWASM.WXVideo.param">
|
||||
<summary>
|
||||
视频创建参数
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.WXVideo.#ctor(System.String,WeChatWASM.CreateVideoOption)">
|
||||
<summary>
|
||||
创建视频实例
|
||||
</summary>
|
||||
<param name="id">实例ID</param>
|
||||
<param name="param">创建参数</param>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.WXVideo.InitializeProperties">
|
||||
<summary>
|
||||
初始化属性
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.WXVideo._HandleCallBack(WeChatWASM.WXVideoCallback)">
|
||||
<summary>
|
||||
内部函数,请不要调用
|
||||
</summary>
|
||||
<param name="key"></param>
|
||||
</member>
|
||||
<member name="P:WeChatWASM.WXVideo.src">
|
||||
<summary>
|
||||
视频的资源地址
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WeChatWASM.WXVideo.poster">
|
||||
<summary>
|
||||
视频的封面
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WeChatWASM.WXVideo.x">
|
||||
<summary>
|
||||
视频的左上角横坐标
|
||||
@ -8551,9 +8677,69 @@
|
||||
视频的高度
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WeChatWASM.WXVideo.isPlaying">
|
||||
<member name="P:WeChatWASM.WXVideo.src">
|
||||
<summary>
|
||||
Gets a value indicating whether 是否正在播放
|
||||
视频的资源地址
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WeChatWASM.WXVideo.poster">
|
||||
<summary>
|
||||
视频的封面
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WeChatWASM.WXVideo.live">
|
||||
<summary>
|
||||
是否为直播
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WeChatWASM.WXVideo.objectFit">
|
||||
<summary>
|
||||
当视频大小与 video 容器大小不一致时,视频的表现形式
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WeChatWASM.WXVideo.controls">
|
||||
<summary>
|
||||
是否显示默认播放控件(播放/暂停按钮、播放进度、时间)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WeChatWASM.WXVideo.showProgress">
|
||||
<summary>
|
||||
是否显示播放进度
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WeChatWASM.WXVideo.showProgressInControlMode">
|
||||
<summary>
|
||||
在非全屏模式下,是否开启亮度和音量调节手势
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WeChatWASM.WXVideo.backgroundColor">
|
||||
<summary>
|
||||
视频的背景色
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WeChatWASM.WXVideo.obeyMuteSwitch">
|
||||
<summary>
|
||||
是否遵循系统静音开关
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WeChatWASM.WXVideo.enableProgressGesture">
|
||||
<summary>
|
||||
是否开启控制进度的手势
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WeChatWASM.WXVideo.enablePlayGesture">
|
||||
<summary>
|
||||
是否开启播放手势
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WeChatWASM.WXVideo.showCenterPlayBtn">
|
||||
<summary>
|
||||
是否显示视频中间的播放按钮
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.WXVideo.Destroy">
|
||||
<summary>
|
||||
销毁当前实例
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.WXVideo.Play">
|
||||
@ -8561,44 +8747,31 @@
|
||||
播放视频
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.WXVideo.OnPlay(System.Action)">
|
||||
<member name="M:WeChatWASM.WXVideo.Pause">
|
||||
<summary>
|
||||
监听视频播放事件
|
||||
暂停
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.WXVideo.OffPlay(System.Action)">
|
||||
<member name="M:WeChatWASM.WXVideo.Stop">
|
||||
<summary>
|
||||
取消监听视频播放事件,action 为空表示移除全部事件监听
|
||||
停止视频
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.WXVideo.OnEnded(System.Action)">
|
||||
<member name="M:WeChatWASM.WXVideo.Seek(System.Int32)">
|
||||
<summary>
|
||||
监听视频播放到末尾事件
|
||||
视频跳转
|
||||
</summary>
|
||||
<param name="time">视频跳转到指定位置,单位为 s 秒</param>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.WXVideo.OffEnded(System.Action)">
|
||||
<member name="M:WeChatWASM.WXVideo.RequestFullScreen(System.Int32)">
|
||||
<summary>
|
||||
取消监听视频播放到末尾事件
|
||||
视频全屏
|
||||
</summary>
|
||||
<param name="direction">设置全屏时视频的方向 0: 正常竖向, 90: 屏幕逆时针90度 . -90: 屏幕顺时针90度</param>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.WXVideo.OnError(System.Action)">
|
||||
<member name="M:WeChatWASM.WXVideo.ExitFullScreen">
|
||||
<summary>
|
||||
监听视频错误事件
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.WXVideo.OffError(System.Action)">
|
||||
<summary>
|
||||
取消监听视频错误事件,action 为空表示移除全部事件监听
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.WXVideo.OnPause(System.Action)">
|
||||
<summary>
|
||||
监听视频暂停事件
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.WXVideo.OffPause(System.Action)">
|
||||
<summary>
|
||||
取消监听视频暂停事件,action 为空表示移除全部事件监听
|
||||
视频退出全屏
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.WXVideo.OnWaiting(System.Action)">
|
||||
@ -8611,36 +8784,45 @@
|
||||
取消监听视频由于需要缓冲下一帧而停止时触发,action 为空表示移除全部事件监听
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.WXVideo.Destroy">
|
||||
<member name="M:WeChatWASM.WXVideo.OnProgress(System.Action{WeChatWASM.WXVideoProgress})">
|
||||
<summary>
|
||||
销毁当前实例
|
||||
监听视频下载(缓冲)事件
|
||||
</summary>
|
||||
<param name="action"></param>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.WXVideo.OffProgress(System.Action{WeChatWASM.WXVideoProgress})">
|
||||
<summary>
|
||||
取消监听视频下载(缓冲)事件 ,action 为空表示移除全部事件监听
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.WXVideo.ExitFullScreen">
|
||||
<member name="M:WeChatWASM.WXVideo.OnPlay(System.Action)">
|
||||
<summary>
|
||||
视频退出全屏
|
||||
监听视频播放事件
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.WXVideo.Pause">
|
||||
<member name="M:WeChatWASM.WXVideo.OffPlay(System.Action)">
|
||||
<summary>
|
||||
暂停
|
||||
取消监听视频播放事件,action 为空表示移除全部事件监听
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.WXVideo.RequestFullScreen(System.Int32)">
|
||||
<member name="M:WeChatWASM.WXVideo.OnPause(System.Action)">
|
||||
<summary>
|
||||
视频全屏
|
||||
监听视频暂停事件
|
||||
</summary>
|
||||
<param name="direction">设置全屏时视频的方向 0: 正常竖向, 90: 屏幕逆时针90度 . -90: 屏幕顺时针90度</param>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.WXVideo.Seek(System.Int32)">
|
||||
<member name="M:WeChatWASM.WXVideo.OffPause(System.Action)">
|
||||
<summary>
|
||||
视频跳转
|
||||
取消监听视频暂停事件,action 为空表示移除全部事件监听
|
||||
</summary>
|
||||
<param name="time">视频跳转到指定位置,单位为 s 秒</param>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.WXVideo.Stop">
|
||||
<member name="M:WeChatWASM.WXVideo.OnEnded(System.Action)">
|
||||
<summary>
|
||||
停止视频
|
||||
监听视频播放到末尾事件
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.WXVideo.OffEnded(System.Action)">
|
||||
<summary>
|
||||
取消监听视频播放到末尾事件
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.WXVideo.OnTimeUpdate(System.Action{WeChatWASM.WXVideoTimeUpdate})">
|
||||
@ -8654,15 +8836,14 @@
|
||||
取消监听视频播放进度更新事件,action 为空表示移除全部事件监听
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.WXVideo.OnProgress(System.Action{WeChatWASM.WXVideoProgress})">
|
||||
<member name="M:WeChatWASM.WXVideo.OnError(System.Action{WeChatWASM.WXVideoError})">
|
||||
<summary>
|
||||
监听视频下载(缓冲)事件
|
||||
监听视频错误事件
|
||||
</summary>
|
||||
<param name="action"></param>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.WXVideo.OffProgress(System.Action{WeChatWASM.WXVideoProgress})">
|
||||
<member name="M:WeChatWASM.WXVideo.OffError(System.Action{WeChatWASM.WXVideoError})">
|
||||
<summary>
|
||||
取消监听视频下载(缓冲)事件 ,action 为空表示移除全部事件监听
|
||||
取消监听视频错误事件,action 为空表示移除全部事件监听
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WeChatWASM.WXVideoDecoder.GetFrameData">
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 39e0805eca2014f3c8e095e963dea76e
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: 8d43dfce6d8e3e9a4f0cc28b8825de8d
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -4036,32 +4036,6 @@ namespace WeChatWASM
|
||||
return WXSDKManagerHandler.Instance.GetLogManager(option);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [[PageManager](https://developers.weixin.qq.com/minigame/dev/api/open-api/openlink/PageManager.html) wx.createPageManager()](https://developers.weixin.qq.com/minigame/dev/api/open-api/openlink/wx.createPageManager.html)
|
||||
/// 需要基础库: `3.6.7`
|
||||
/// 小游戏开放页面管理器,用于启动微信内置的各种小游戏活动、功能页面。具体OPENLINK值由不同的能力渠道获得。
|
||||
/// **示例代码**
|
||||
/// ```js
|
||||
/// const pageManager = wx.createPageManager();
|
||||
/// pageManager.load({
|
||||
/// openlink: 'xxxxxxx-xxxxxx', // 由不同渠道获得的OPENLINK值
|
||||
/// }).then((res) => {
|
||||
/// // 加载成功,res 可能携带不同活动、功能返回的特殊回包信息(具体请参阅渠道说明)
|
||||
/// console.log(res);
|
||||
/// // 加载成功后按需显示
|
||||
/// pageManager.show();
|
||||
/// }).catch((err) => {
|
||||
/// // 加载失败,请查阅 err 给出的错误信息
|
||||
/// console.error(err);
|
||||
/// })
|
||||
/// ```
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public static WXPageManager CreatePageManager()
|
||||
{
|
||||
return WXSDKManagerHandler.Instance.CreatePageManager();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [[RealtimeLogManager](https://developers.weixin.qq.com/minigame/dev/api/base/debug/RealtimeLogManager.html) wx.getRealtimeLogManager()](https://developers.weixin.qq.com/minigame/dev/api/base/debug/wx.getRealtimeLogManager.html)
|
||||
/// 需要基础库: `2.14.4`
|
||||
|
||||
@ -535,7 +535,7 @@ namespace WeChatWASM
|
||||
/// </summary>
|
||||
/// <param name="param"></param>
|
||||
/// <returns></returns>
|
||||
public static WXVideo CreateVideo(WXCreateVideoParam param)
|
||||
public static WXVideo CreateVideo(CreateVideoOption param)
|
||||
{
|
||||
return WXSDKManagerHandler.Instance.CreateVideo(param);
|
||||
}
|
||||
@ -1127,6 +1127,41 @@ namespace WeChatWASM
|
||||
WXSDKManagerHandler.Instance.NotifyMiniProgramPlayableStatus(option);
|
||||
}
|
||||
#endregion
|
||||
#region 虚拟支付
|
||||
/// <summary>
|
||||
/// 请求虚拟支付
|
||||
/// </summary>
|
||||
public static void RequestVirtualPayment(RequestVirtualPaymentOption option)
|
||||
{
|
||||
WXSDKManagerHandler.Instance.RequestVirtualPayment(option);
|
||||
}
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
/// [[PageManager](https://developers.weixin.qq.com/minigame/dev/api/open-api/openlink/PageManager.html) wx.createPageManager()](https://developers.weixin.qq.com/minigame/dev/api/open-api/openlink/wx.createPageManager.html)
|
||||
/// 需要基础库: `3.6.7`
|
||||
/// 小游戏开放页面管理器,用于启动微信内置的各种小游戏活动、功能页面。具体OPENLINK值由不同的能力渠道获得。
|
||||
/// **示例代码**
|
||||
/// ```js
|
||||
/// const pageManager = wx.createPageManager();
|
||||
/// pageManager.load({
|
||||
/// openlink: 'xxxxxxx-xxxxxx', // 由不同渠道获得的OPENLINK值
|
||||
/// }).then((res) => {
|
||||
/// // 加载成功,res 可能携带不同活动、功能返回的特殊回包信息(具体请参阅渠道说明)
|
||||
/// console.log(res);
|
||||
/// // 加载成功后按需显示
|
||||
/// pageManager.show();
|
||||
/// }).catch((err) => {
|
||||
/// // 加载失败,请查阅 err 给出的错误信息
|
||||
/// console.error(err);
|
||||
/// })
|
||||
/// ```
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public static WXPageManager CreatePageManager()
|
||||
{
|
||||
return WXSDKManagerHandler.Instance.CreatePageManager();
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -8,6 +8,10 @@ using UnityEngine;
|
||||
using UnityEngine.Scripting;
|
||||
using System.IO;
|
||||
|
||||
using Unity.Profiling;
|
||||
using UnityEngine.Profiling;
|
||||
using Debug = UnityEngine.Debug;
|
||||
|
||||
|
||||
#if PLATFORM_WEIXINMINIGAME || PLATFORM_WEBGL || UNITY_EDITOR
|
||||
|
||||
@ -20,17 +24,17 @@ namespace WXSDKPerf
|
||||
public class WXPerfEngine
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
static WXPerfEngine_Implementation m_PerfEngineImplementation = null;
|
||||
static WXPerfEngine_Implementation m_PerfEngineImplementation = null;
|
||||
#endif
|
||||
|
||||
[RuntimeInitializeOnLoadMethod]
|
||||
public static void StartWXPerfEngine()
|
||||
{
|
||||
#if UNITY_EDITOR
|
||||
return;
|
||||
return;
|
||||
#else
|
||||
m_PerfEngineImplementation = new WXPerfEngine_Implementation();
|
||||
m_PerfEngineImplementation.StartPerfEngine();
|
||||
m_PerfEngineImplementation.StartPerfEngine();
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -45,7 +49,7 @@ namespace WXSDKPerf
|
||||
public static void Annotation(string InAnnotationString)
|
||||
{
|
||||
#if UNITY_EDITOR
|
||||
return;
|
||||
return;
|
||||
#else
|
||||
// Don't record annotation if we are not recording.
|
||||
if (!IsRecording())
|
||||
@ -68,7 +72,7 @@ namespace WXSDKPerf
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 检查是否正在录制性能数据
|
||||
/// </summary>
|
||||
@ -89,14 +93,14 @@ namespace WXSDKPerf
|
||||
#else
|
||||
DateTime timestamp = DateTime.Now;
|
||||
var dateString = timestamp.ToLocalTime().ToString("yyyy-MM-dd_HH-mm-ss", System.Globalization.CultureInfo.InvariantCulture);
|
||||
var snapshotFileName = $"{dateString}.snap";
|
||||
var snapshotFileName = $"{dateString}.snap";
|
||||
|
||||
#if UNITY_2018_3_OR_NEWER && !UNITY_2022_2_OR_NEWER
|
||||
UnityEngine.Profiling.Memory.Experimental.MemoryProfiler.TakeSnapshot(Path.Combine(Application.persistentDataPath, snapshotFileName),
|
||||
UnityEngine.Profiling.Memory.Experimental.MemoryProfiler.TakeSnapshot(Path.Combine(Application.persistentDataPath, snapshotFileName),
|
||||
WXPerfEngine_Implementation.CaptureSnapshotCallback, (UnityEngine.Profiling.Memory.Experimental.CaptureFlags)31);
|
||||
|
||||
|
||||
#elif UNITY_2022_2_OR_NEWER
|
||||
Unity.Profiling.Memory.MemoryProfiler.TakeSnapshot(Path.Combine(Application.persistentDataPath, snapshotFileName),
|
||||
Unity.Profiling.Memory.MemoryProfiler.TakeSnapshot(Path.Combine(Application.persistentDataPath, snapshotFileName),
|
||||
WXPerfEngine_Implementation.CaptureSnapshotCallback, (Unity.Profiling.Memory.CaptureFlags)31);
|
||||
#endif
|
||||
#endif
|
||||
@ -109,7 +113,7 @@ namespace WXSDKPerf
|
||||
public static void SetLuaState(IntPtr L)
|
||||
{
|
||||
#if UNITY_EDITOR
|
||||
return;
|
||||
return;
|
||||
#else
|
||||
if (m_PerfEngineImplementation == null)
|
||||
{
|
||||
@ -120,7 +124,7 @@ namespace WXSDKPerf
|
||||
m_PerfEngineImplementation.SetLuaState(L);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 声明自定义性能指标
|
||||
/// </summary>
|
||||
@ -130,7 +134,7 @@ namespace WXSDKPerf
|
||||
public static void DeclareCustomStatInfo(string inStatName, string inStatCategory, int inStatInterpType = 1)
|
||||
{
|
||||
#if UNITY_EDITOR
|
||||
return;
|
||||
return;
|
||||
#else
|
||||
if (m_PerfEngineImplementation == null)
|
||||
{
|
||||
@ -151,7 +155,7 @@ namespace WXSDKPerf
|
||||
public static void SetCustomStatValue(string inStatName, float inValue)
|
||||
{
|
||||
#if UNITY_EDITOR
|
||||
return;
|
||||
return;
|
||||
#else
|
||||
if (m_PerfEngineImplementation == null)
|
||||
{
|
||||
@ -171,7 +175,7 @@ namespace WXSDKPerf
|
||||
public static void AddCustomStatInfoBy(string inStatName, float inValue)
|
||||
{
|
||||
#if UNITY_EDITOR
|
||||
return;
|
||||
return;
|
||||
#else
|
||||
if (m_PerfEngineImplementation == null)
|
||||
{
|
||||
@ -179,9 +183,9 @@ namespace WXSDKPerf
|
||||
return;
|
||||
}
|
||||
|
||||
m_PerfEngineImplementation.AddCustomStatInfoBy(inStatName, inValue);
|
||||
m_PerfEngineImplementation.AddCustomStatInfoBy(inStatName, inValue);
|
||||
#endif
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -195,11 +199,11 @@ namespace WXSDKPerf
|
||||
/// <param name="inEnableCaptureResource">是否启用资源捕获</param>
|
||||
/// <param name="inEnableLuaMemoryMonitor">是否启用Lua内存监控</param>
|
||||
/// <param name="inEnableLuaFunctionMemoryTracking">是否启用Lua函数内存跟踪</param>
|
||||
public static void StartRecordManually(bool inEnableStackTrace, bool inEnableStatInfo, bool inFrequentScreenShot, bool inEnablebRenderInst,
|
||||
public static void StartRecordManually(bool inEnableStackTrace, bool inEnableStatInfo, bool inFrequentScreenShot, bool inEnablebRenderInst,
|
||||
bool inEnableCaptureResource, bool inEnableLuaMemoryMonitor, bool inEnableLuaFunctionMemoryTracking)
|
||||
{
|
||||
#if UNITY_EDITOR
|
||||
return;
|
||||
return;
|
||||
#else
|
||||
if (m_PerfEngineImplementation == null)
|
||||
{
|
||||
@ -207,7 +211,7 @@ namespace WXSDKPerf
|
||||
return;
|
||||
}
|
||||
|
||||
m_PerfEngineImplementation.StartRecordManually(inEnableStackTrace, inEnableStatInfo, inFrequentScreenShot, inEnablebRenderInst,
|
||||
m_PerfEngineImplementation.StartRecordManually(inEnableStackTrace, inEnableStatInfo, inFrequentScreenShot, inEnablebRenderInst,
|
||||
inEnableCaptureResource, inEnableLuaMemoryMonitor, inEnableLuaFunctionMemoryTracking);
|
||||
#endif
|
||||
}
|
||||
@ -218,7 +222,7 @@ namespace WXSDKPerf
|
||||
public static void StopRecordManually()
|
||||
{
|
||||
#if UNITY_EDITOR
|
||||
return;
|
||||
return;
|
||||
#else
|
||||
if (m_PerfEngineImplementation == null)
|
||||
{
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2ea6c9ccc285c9ef72c52c3cf4bd9f0f
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: 58b9518c5bef51e65aa5f5c4f7fa5cbc
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: eaafd2ef8d825f1088f52f56b9d21963
|
||||
guid: 9bc9b52d86f58bc443e622322eb1b846
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c70bf2b501338e1b5b07caecbd69f6ca
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: 0711ddf0e00c1ba034fbd175be10628f
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 233c4a87e55377c757097a4e69560b74
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: 852f2703cb5f4c4b66dc507095a4b9a1
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 435a753f88d1d624eb4016a24afc9d67
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: 2e7b895000f8cd2ee3e01a23e148528b
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b00afd74f90386ebafafb9a6d55aa87b
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: 7ee7552b2ca25df2f1ac891b3bfa4d87
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9381d059592436363b3edf5a6439dd30
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: 5cbae90858248bb57c9fa4247bfe3fb9
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2ee7fd70a3a543be42f43bc86f288c94
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: c108ed7b5db8520573eb093d569e2d45
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: cd56fbe2ebde1bfa884abef0b4b2a15e
|
||||
guid: eb39128638dc08a574bf249aae32ad73
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 104793ef1a47ebfcdecb96d90061153d
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: 71ec3d6a7a4a473a8a24a54d85c2d644
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 276e1e64cd434e9c59f83833dce5fc42
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: 1de1ec388f633ac36d5de279ea2f7e9b
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -47,6 +47,10 @@
|
||||
{
|
||||
"type": "suffix",
|
||||
"value": ".symbols.unityweb"
|
||||
},
|
||||
{
|
||||
"type": "suffix",
|
||||
"value": ".symbols.unityweb.br"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5a4d489bde9a239a9955e2dbdf677b37
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: a6285d409abf66a2e46357c787f942d5
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 33f1eef9bc82a8ce14c925973bf84330
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: 77614732886ff126205b6da0ac2e8c80
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2caa890eaad3e53af62bb309891ced0f
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: fdd7594db068008d2c5097582912cc08
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 343b87d30905e288ee8763e23245f08a
|
||||
guid: 063d1734fdc8f1c780164766567bb789
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fa4a04bfa606d5a5566680ce1145d7b3
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: a03efad11c3d6e9c133e0a027b27c45b
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: cdd03053cbd2cfd653ed68fd41373ece
|
||||
guid: bf62979de004c36e17508cb9641935c6
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3608db8ccc451f57f0e72d39fe89c472
|
||||
guid: 78b96471a5f5b4f7ac9508f790156504
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 26944986a3acb6c1a0845f70be368ede
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: 733379ab4e176225b2b9023e86d21efe
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b743d8ee4e112f882e5adcc6e1d60150
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: 120944c78a76a7b85573eb2cebbe6444
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6dd72668631c2965a447c0fa5c956326
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: b7e3639d5812dd4c28e03e1688a9a76a
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f7f2e35b67135249c269ad6f8425d7fe
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: a8249d3593b71f0b229ed884eeb141fa
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 53c0c1972ca56e63b7bd4a0d370d669f
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: 079e662e53e59d631c82714e7134f525
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ea06fbbed1477594c9fe79652297ea0b
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: 2d3fe21329e7e4acdc54c284cae290ce
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7daa33856d3d3921a86b0b4d591384d6
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: 91e8d7b4bfc676a20cc00202167f9eea
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0b68cf7eb834e6c55df6b648ddc396ac
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: 92a1cca5208b6d4071ebf7506c984c63
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 23ac0a1c7d4acf30550da1c3250d7943
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: 2778f35cb8557d31d403c4cf79539cbe
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: cb5cc91925bdfbfdbb3095d542ba3831
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: 4640bdb8979bb5b2e0a9c39894ca014e
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5fc7a5e574c3b42b18696f9d74ce1385
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: 6ed7d4da67e810a1c946f8fe1994c8ad
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 056d0de4082d8112646e9458d8fc7ed8
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: 5d37e11e38dd8f776a5b9047ab23db2e
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8620ce4d04276c6ac5db7c79c06ae1f8
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: 89cd26e81e3d75b782ebb4ffff856920
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 24c0ed48be4c0d08013b010309a23eae
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: 0483c0213d00488d44ba980a56e92c8a
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f761de43f32914ee8cad0d60aa09f788
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: 8754eb0948a9b13a6ea3e96d071b881d
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a4ac42294f78095bb3b766be664735cb
|
||||
guid: af1204e9ec71c39435af55b93444d7d0
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 82a18f9d767fb05ea2812cbd70a44dfb
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: 54678c7b6976ef85f608fa21e58c58e7
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8b05250bc9130efc931bb42ff64286cc
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: 21935cad3e92c3564437e0de95a95df0
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 734b469a069fc1bd31aef3e252caf407
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: e313d0310a227b46d031f0602b33a62e
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,4 +1,11 @@
|
||||
export const ResType = {
|
||||
Gamepad: {
|
||||
axes: 'IAnyObject[]',
|
||||
buttons: 'IAnyObject[]',
|
||||
connected: 'bool',
|
||||
id: 'string',
|
||||
index: 'string',
|
||||
},
|
||||
AccountInfo: {
|
||||
miniProgram: 'MiniProgram',
|
||||
plugin: 'Plugin',
|
||||
@ -496,7 +503,7 @@ export const ResType = {
|
||||
headUrl: 'string',
|
||||
nickname: 'string',
|
||||
nonceId: 'string',
|
||||
otherInfos: 'AnyKeyword[]',
|
||||
otherInfos: 'any[]',
|
||||
replayStatus: 'number',
|
||||
status: 'number',
|
||||
errMsg: 'string',
|
||||
@ -505,7 +512,7 @@ export const ResType = {
|
||||
headUrl: 'string',
|
||||
nickname: 'string',
|
||||
noticeId: 'string',
|
||||
otherInfos: 'AnyKeyword[]',
|
||||
otherInfos: 'any[]',
|
||||
reservable: 'bool',
|
||||
startTime: 'string',
|
||||
status: 'number',
|
||||
@ -574,6 +581,11 @@ export const ResType = {
|
||||
weakNet: 'bool',
|
||||
errMsg: 'string',
|
||||
},
|
||||
GetPhoneNumberSuccessCallbackResult: {
|
||||
code: 'string',
|
||||
errMsg: 'string',
|
||||
errno: 'number',
|
||||
},
|
||||
GetPrivacySettingSuccessCallbackResult: {
|
||||
needAuthorization: 'bool',
|
||||
privacyContractName: 'string',
|
||||
@ -598,6 +610,10 @@ export const ResType = {
|
||||
mainSwitch: 'bool',
|
||||
itemSettings: 'object',
|
||||
},
|
||||
GetShowSplashAdStatusSuccessCallbackResult: {
|
||||
status: 'string',
|
||||
errMsg: 'string',
|
||||
},
|
||||
GetStorageInfoSuccessCallbackOption: {
|
||||
currentSize: 'number',
|
||||
keys: 'string[]',
|
||||
@ -724,6 +740,12 @@ export const ResType = {
|
||||
message: 'string',
|
||||
stack: 'string',
|
||||
},
|
||||
OnGamepadConnectedListenerResult: {
|
||||
gamepad: 'string',
|
||||
},
|
||||
OnGamepadDisconnectedListenerResult: {
|
||||
gamepad: 'string',
|
||||
},
|
||||
OnHandoffListenerResult: {
|
||||
query: 'string',
|
||||
},
|
||||
@ -741,14 +763,6 @@ export const ResType = {
|
||||
OnMemoryWarningListenerResult: {
|
||||
level: 'number',
|
||||
},
|
||||
OnMenuButtonBoundingClientRectWeightChangeListenerResult: {
|
||||
bottom: 'number',
|
||||
height: 'number',
|
||||
left: 'number',
|
||||
right: 'number',
|
||||
top: 'number',
|
||||
width: 'number',
|
||||
},
|
||||
OnMouseDownListenerResult: {
|
||||
button: 'number',
|
||||
timeStamp: 'long',
|
||||
@ -849,17 +863,6 @@ export const ResType = {
|
||||
subscriptionsSetting: 'SubscriptionsSetting',
|
||||
errMsg: 'string',
|
||||
},
|
||||
OperateGameRecorderVideoOption: {
|
||||
atempo: 'number',
|
||||
audioMix: 'bool',
|
||||
bgm: 'string',
|
||||
desc: 'string',
|
||||
path: 'string',
|
||||
query: 'string',
|
||||
timeRange: 'number[]',
|
||||
title: 'string',
|
||||
volume: 'number',
|
||||
},
|
||||
MediaSource: {
|
||||
url: 'string',
|
||||
poster: 'string',
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 57eefa85c55d36f8a16775014d1de18d
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: 13bc37721c7573aec81a061a5071719a
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fe5d4e8cd081a4dbd3ac4031405b7f12
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: 3f9aeb84a873c780be8179cd9faf3542
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ab1962353436471e6ce08932a27104ef
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: e6c68511c2840911d5706895b5c4c410
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -23,7 +23,7 @@ function getClassObject(className, id) {
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/naming-convention
|
||||
function WX_OneWayNoFunction(functionName, ...params) {
|
||||
wx[functionName.replace(/^\w/, a => a.toLowerCase())](...params);
|
||||
wx[functionName.replace(/^\w/, (a) => a.toLowerCase())](...params);
|
||||
}
|
||||
|
||||
|
||||
@ -33,7 +33,7 @@ const onlyReadyResponse = [
|
||||
];
|
||||
// eslint-disable-next-line @typescript-eslint/naming-convention
|
||||
function WX_SyncFunction(functionName, ...params) {
|
||||
return wx[functionName.replace(/^\w/, a => a.toLowerCase())](...params);
|
||||
return wx[functionName.replace(/^\w/, (a) => a.toLowerCase())](...params);
|
||||
}
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/naming-convention
|
||||
@ -42,13 +42,22 @@ function WX_ClassOneWayNoFunction(className, functionName, id, ...params) {
|
||||
if (!obj) {
|
||||
return;
|
||||
}
|
||||
obj[functionName.replace(/^\w/, a => a.toLowerCase())](...params);
|
||||
obj[functionName.replace(/^\w/, (a) => a.toLowerCase())](...params);
|
||||
}
|
||||
function classFormatAndSend(id, callbackId, callbackName, callbackType, resType, res) {
|
||||
formatResponse(resType, res);
|
||||
moduleHelper.send(callbackName, classGetMsg(id, callbackId, callbackType, res));
|
||||
}
|
||||
function classGetMsg(id, callbackId, resType, res) {
|
||||
return JSON.stringify({
|
||||
id, callbackId, type: resType, res: JSON.stringify(res) || '',
|
||||
});
|
||||
}
|
||||
export default {
|
||||
WX_OneWayFunction(functionName, successType, failType, completeType, conf, callbackId) {
|
||||
const lowerFunctionName = functionName.replace(/^\w/, a => a.toLowerCase());
|
||||
const lowerFunctionName = functionName.replace(/^\w/, (a) => a.toLowerCase());
|
||||
const config = formatJsonStr(conf);
|
||||
|
||||
// specialJS
|
||||
if (lowerFunctionName === 'login') {
|
||||
if (!config.timeout) {
|
||||
delete config.timeout;
|
||||
@ -111,7 +120,7 @@ export default {
|
||||
moduleHelper.send(`_${functionName}Callback`, resStr);
|
||||
};
|
||||
onEventLists[functionName].push(callback);
|
||||
wx[functionName.replace(/^\w/, a => a.toLowerCase())](callback);
|
||||
wx[functionName.replace(/^\w/, (a) => a.toLowerCase())](callback);
|
||||
},
|
||||
WX_OffEventRegister(functionName) {
|
||||
(onEventLists[functionName] || []).forEach((v) => {
|
||||
@ -225,7 +234,7 @@ export default {
|
||||
},
|
||||
WX_SyncFunction_t(functionName, returnType) {
|
||||
const res = WX_SyncFunction(functionName);
|
||||
if (onlyReadyResponse.includes(functionName.replace(/^\w/, a => a.toLowerCase()))) {
|
||||
if (onlyReadyResponse.includes(functionName.replace(/^\w/, (a) => a.toLowerCase()))) {
|
||||
formatResponse(returnType, JSON.parse(JSON.stringify(res)));
|
||||
return JSON.stringify(res);
|
||||
}
|
||||
@ -262,10 +271,10 @@ export default {
|
||||
formatResponse(returnType, res);
|
||||
return JSON.stringify(res);
|
||||
},
|
||||
WX_ClassOneWayFunction(functionName, returnType, successType, failType, completeType, conf) {
|
||||
WX_ClassConstructor(functionName, returnType, successType, failType, completeType, conf) {
|
||||
const config = formatJsonStr(conf);
|
||||
const callbackId = uid();
|
||||
const obj = wx[functionName.replace(/^\w/, a => a.toLowerCase())]({
|
||||
const obj = wx[functionName.replace(/^\w/, (a) => a.toLowerCase())]({
|
||||
...config,
|
||||
success(res) {
|
||||
formatResponse(successType, res);
|
||||
@ -293,7 +302,7 @@ export default {
|
||||
return callbackId;
|
||||
},
|
||||
WX_ClassFunction(functionName, returnType, option) {
|
||||
const obj = wx[functionName.replace(/^\w/, a => a.toLowerCase())](formatJsonStr(option));
|
||||
const obj = wx[functionName.replace(/^\w/, (a) => a.toLowerCase())](formatJsonStr(option));
|
||||
const id = uid();
|
||||
if (!ClassLists[returnType]) {
|
||||
ClassLists[returnType] = {};
|
||||
@ -347,10 +356,10 @@ export default {
|
||||
ClassOnEventLists[className + functionName][id + eventName].push(callback);
|
||||
// WXVideoDecoder OnEvent 不规范 特殊处理
|
||||
if (className === 'WXVideoDecoder') {
|
||||
obj[functionName.replace(/^\w/, a => a.toLowerCase())](eventName, callback);
|
||||
obj[functionName.replace(/^\w/, (a) => a.toLowerCase())](eventName, callback);
|
||||
}
|
||||
else {
|
||||
obj[functionName.replace(/^\w/, a => a.toLowerCase())](callback);
|
||||
obj[functionName.replace(/^\w/, (a) => a.toLowerCase())](callback);
|
||||
}
|
||||
},
|
||||
WX_ClassOffEventFunction(className, functionName, id, eventName) {
|
||||
@ -389,7 +398,7 @@ export default {
|
||||
if (!obj) {
|
||||
return JSON.stringify(formatResponse(returnType));
|
||||
}
|
||||
const res = obj[functionName.replace(/^\w/, a => a.toLowerCase())]();
|
||||
const res = obj[functionName.replace(/^\w/, (a) => a.toLowerCase())]();
|
||||
return JSON.stringify(formatResponse(returnType, res, id));
|
||||
},
|
||||
WX_ClassOneWayNoFunction_vt(className, functionName, id, param1) {
|
||||
@ -399,4 +408,41 @@ export default {
|
||||
WX_ClassOneWayNoFunction_vn(className, functionName, id, param1) {
|
||||
WX_ClassOneWayNoFunction(className, functionName, id, param1);
|
||||
},
|
||||
WX_ClassOneWayFunction(className, functionName, id, successType, failType, completeType, conf, callbackId, usePromise = false) {
|
||||
|
||||
const obj = getClassObject(className, id);
|
||||
if (!obj) {
|
||||
return;
|
||||
}
|
||||
const lowerFunctionName = functionName.replace(/^\w/, (a) => a.toLowerCase());
|
||||
const config = formatJsonStr(conf);
|
||||
|
||||
if (usePromise) {
|
||||
obj[lowerFunctionName]({
|
||||
...config,
|
||||
}).then((res) => {
|
||||
classFormatAndSend(id, callbackId, `_${className}${functionName}Callback`, 'success', successType, res);
|
||||
})
|
||||
.catch((res) => {
|
||||
classFormatAndSend(id, callbackId, `_${className}${functionName}Callback`, 'fail', failType, res);
|
||||
})
|
||||
.finally((res) => {
|
||||
classFormatAndSend(id, callbackId, `_${className}${functionName}Callback`, 'complete', completeType, res);
|
||||
});
|
||||
}
|
||||
else {
|
||||
obj[lowerFunctionName]({
|
||||
...config,
|
||||
success(res) {
|
||||
classFormatAndSend(id, callbackId, `_${className}${functionName}Callback`, 'success', successType, res);
|
||||
},
|
||||
fail(res) {
|
||||
classFormatAndSend(id, callbackId, `_${className}${functionName}Callback`, 'fail', failType, res);
|
||||
},
|
||||
complete(res) {
|
||||
classFormatAndSend(id, callbackId, `_${className}${functionName}Callback`, 'complete', completeType, res);
|
||||
},
|
||||
});
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c6eca6dbedf3a3be96959dc83364005e
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: 467fa80c307763f95a443965d2393b59
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c0f36136298a642b4502fb146b6e2360
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: 3feb66e07562812bef88d4e315b1c963
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c1f4bd2c195ce1adc42545981730320b
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: 9df66a43e4b6cb795d028dc597a5705c
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9977bbc7793207a2171435e8341df166
|
||||
guid: 8aeb975fbb1c4c60e2b880cbba648032
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bf8f984286430d97a62a5034d50e13fb
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: e97d12125cf824d28eff98e3146ca544
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0b9405685a1cff22ab86b6ebe7714ff0
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: f3d4dbf1c775b60df57ea6f5918c2775
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1657705d59058758e5a91dda2487a1bd
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: 9b2b269f318614f43e13a679a76996b0
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -18,12 +18,15 @@ export default {
|
||||
if (!obj) {
|
||||
return;
|
||||
}
|
||||
if (key === 'x' || key === 'y' || key === 'width' || key === 'height') {
|
||||
if (key === 'x' || key === 'y' || key === 'width' || key === 'height' || key === 'playbackRate' || key === 'initialTime') {
|
||||
obj[key] = +value;
|
||||
}
|
||||
else if (key === 'src' || key === 'poster') {
|
||||
obj[key] = value;
|
||||
}
|
||||
else if (key === 'loop' || key === 'muted') {
|
||||
obj[key] = value === 'true';
|
||||
}
|
||||
},
|
||||
WXVideoPlay(id) {
|
||||
const obj = getObject(id);
|
||||
@ -40,10 +43,11 @@ export default {
|
||||
obj[key]((e) => {
|
||||
moduleHelper.send('OnVideoCallback', JSON.stringify({
|
||||
callbackId: id,
|
||||
errMsg: key,
|
||||
type: key,
|
||||
position: e && e.position,
|
||||
buffered: e && e.buffered,
|
||||
duration: e && e.duration,
|
||||
errMsg: e && e.errMsg,
|
||||
}));
|
||||
if (key === 'onError') {
|
||||
GameGlobal.enableTransparentCanvas = false;
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 440906071e88b8550f9cbc3b4b280839
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: de86ce9dd6cf4cbc331b71cfe6c496d9
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 26ee2d27d9e0ae7f8bb696b8c1bb4e35
|
||||
guid: 31acd40d7339c9a2ed4d5b6ca5864e57
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: aa6ddd5f113d8bf3fc7e88320bd0d4d9
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: ca45230e649c83076e8ba6339b338974
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e2de943a06884a5955f520e6d8efbc40
|
||||
guid: 9b99f1cd83b657ebda9bf6d67bc43c20
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b7a03c41de33840d5b2076bf4c2d9f33
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: bf53b9439ed1b985cd1083e6c69b3deb
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ea02ba318d8f95362e287ffb3c6e309a
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: b6fc61d4be040dfe92ddf540ebd89581
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -65,8 +65,8 @@ const isMobileBrotliInvalid = isMobile && !compareVersion(SDKVersion, '2.21.1');
|
||||
const isBrotliInvalid = $COMPRESS_DATA_PACKAGE && (isPcBrotliInvalid || isMobileBrotliInvalid);
|
||||
// iOS系统版本>=17.5时,小游戏退后台会导致异常
|
||||
export const isIOS175 = compareVersion(systemVersion, '17.5') && isH5Renderer;
|
||||
// 是否支持开放数据域渲染模式,使用ScreenCanvas模式可以优化ToTempFilePath的使用
|
||||
export const isSupportSharedCanvasMode = compareVersion(SDKVersion, '3.6.6');
|
||||
// 是否支持开放数据域渲染模式,使用ScreenCanvas模式可以优化ToTempFilePath的使用,PC 上 ScreenCanvas 模式事件处理有问题,PC 先禁止这个模式
|
||||
export const isSupportSharedCanvasMode = compareVersion(SDKVersion, '3.6.6') && !isPc;
|
||||
// 是否能以iOS高性能模式运行
|
||||
// 请勿修改GameGlobal.canUseH5Renderer赋值!!!
|
||||
GameGlobal.canUseH5Renderer = isH5Renderer && isH5LibVersionValid;
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 69e2edf7ce2609dd8a49811b6f507372
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: 214d482acd8a3faf6d3241bb3907116e
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,8 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7876f291585b84c91bfb2ecd4fda96de
|
||||
guid: 03ae8e10b1fec9dc91915efaa686bc7f
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
assetBundleVariant:
|
||||
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 071c072861ae85c91926a1403480e38a
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: 51cf8aab71adc1f554039eb92ecc6e91
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e803a90f65cdf6d65cfb2f9b8c5a797c
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: 18d87d64f666c42626878bd66a87ab06
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8b10ed45b2c165e7058031944880d99c
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: 975dd6963b228e8393c4ac03b2c272c4
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -23,7 +23,7 @@
|
||||
],
|
||||
"plugins": {
|
||||
"UnityPlugin": {
|
||||
"version": "1.2.74",
|
||||
"version": "1.2.78",
|
||||
"provider": "wxe5a48f1ed5f544b7",
|
||||
"contexts": [
|
||||
{
|
||||
@ -32,7 +32,7 @@
|
||||
]
|
||||
},
|
||||
"Layout": {
|
||||
"version": "1.0.15",
|
||||
"version": "1.0.16",
|
||||
"provider": "wx7a727ff7d940bb3f",
|
||||
"contexts": [
|
||||
{
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fb5a377e3c540c90f64a44ad41d4cf4a
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: 1b69b2c9ae2eeeffb39044bad732c254
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,8 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a8b368565349c464585be31f1de8cbb4
|
||||
guid: 4d7b71a6f601af0a422f3c22f556998f
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
assetBundleVariant:
|
||||
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7bf9e2368cd493e03e6ae67f29d680b6
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: 1d02859b229c26f6e1baf88b1d8a5be4
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 300643e590ffc5057e481e0b1d330b12
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: 6f74e46dae5510a739d2607948af82e3
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,8 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a4dc6cb18702e483f8c0e33040ec7a8c
|
||||
guid: e06e587fff0ba858f9d0d6681f1ad481
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
assetBundleVariant:
|
||||
@ -1,8 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c8e8941eec0094aafae952831b56f585
|
||||
guid: c099b6c2e5ee1859f50546e5d06c8750
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
assetBundleVariant:
|
||||
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3ed7c28735a887ef7d65c33b93acd5a2
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: 586782a06f7ad1fea9fa3b64d73ce67d
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c373b9aba7791ae4d230c5afd8902218
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: c05ff220f2b671a8e723d6f87b41a229
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0c54bd78ccb2d52c062808cad27e6b6b
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: 22823f4de690ef36c22846a7ca00675f
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 801213edfb6996bdd7ee59d47cbe66f8
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: a0c98ba0f7480eeb75450f133bbd2197
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,8 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ebc1da29f775747f9af59d775106062d
|
||||
guid: 15331c889f3fba303581157d43ab1b10
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
assetBundleVariant:
|
||||
@ -1,8 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b33553816b14b4361a6c9ada07d3b595
|
||||
guid: 5788d62947309a1910867eb819ee8e5e
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
assetBundleVariant:
|
||||
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: aca7eb02e1430bd556a79d1d49673c16
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: e984914715a2ff59b667dcef907c3ce3
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d50dc1cd3e291c640c05a33e7441974b
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: 622a1d04534bd0ade18aa1ad16f1ae4a
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0cb6b71e964998a305fe149d681fa0ce
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: 72e5108be41c37b57c3398443a8ff5c2
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 242ed147c5e65dbd1e595b737e9111d4
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
guid: 962eef3b39f17e90a13d4a12921d4b49
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user