36 lines
906 B
C#
36 lines
906 B
C#
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<TextAsset>("gpulimitdata").WaitForCompletion();
|
|
_keywordsList = Newtonsoft.Json.JsonConvert.DeserializeObject<string[][]>(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;
|
|
}
|
|
}
|