using System.Collections; using System.Collections.Generic; using System.Globalization; using UnityEngine; namespace WZ { public static class DataUtils { [System.Serializable] private class Wrapper { public T[] items; } public static int AndroidVersionCode() { AndroidJavaClass contextCls = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject context = contextCls.GetStatic("currentActivity"); AndroidJavaObject packageMngr = context.Call("getPackageManager"); string packageName = context.Call("getPackageName"); AndroidJavaObject packageInfo = packageMngr.Call("getPackageInfo", packageName, 0); return packageInfo.Get("versionCode"); } public static T[] FromJsonArray(string json) { string wrappedJson = $"{{\"items\":{json}}}"; Wrapper wrapper = JsonUtility.FromJson>(wrappedJson); return wrapper.items; } public static double StringToDouble(string str) { double result = 0; if (double.TryParse(str, NumberStyles.Any, CultureInfo.InvariantCulture, out result)) { Debug.Log("转换成功: " + result); } else { Debug.Log("转换失败:字符串格式不正确"); } return result; } public static void AddIfNotExists(this IDictionary dictionary, TKey key, TValue value) { if (!dictionary.ContainsKey(key)) dictionary.Add(key, value); } } }