using System.Linq; using UnityEngine; using UnityEngine.AddressableAssets; public class QualityLimit { private static string[][] _keywordsList; public static string[][] KeywordsList { get { if (_keywordsList == null) { var data = Addressables.LoadAssetAsync("gpulimitdata").WaitForCompletion(); _keywordsList = Newtonsoft.Json.JsonConvert.DeserializeObject(data.text); } return _keywordsList; } } public static bool IsLimitDevice() { var deviceName = SystemInfo.graphicsDeviceName; if(string.IsNullOrEmpty(deviceName)) return true; foreach (var keywords in KeywordsList) { if (keywords.All(k => deviceName.IndexOf(k) >= 0)) return true; } return false; } }