230 lines
		
	
	
		
			7.8 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			230 lines
		
	
	
		
			7.8 KiB
		
	
	
	
		
			C#
		
	
	
	
|  | using System; | |||
|  | using ThinkingSDK.PC.Constant; | |||
|  | using ThinkingSDK.PC.Storage; | |||
|  | using UnityEngine; | |||
|  | 
 | |||
|  | namespace ThinkingSDK.PC.Utils | |||
|  | { | |||
|  |     public class ThinkingSDKDeviceInfo | |||
|  |     { | |||
|  |         // devide ID | |||
|  |         public static string DeviceID() | |||
|  |         { | |||
|  |             if (ThinkingSDKUtil.DisPresetProperties.Contains(ThinkingSDKConstant.DEVICE_ID)) | |||
|  |             { | |||
|  |                 return ""; | |||
|  |             } | |||
|  |             #if (UNITY_WEBGL) | |||
|  |                 return RandomDeviceID(); | |||
|  |             #else | |||
|  |                 return SystemInfo.deviceUniqueIdentifier; | |||
|  |             #endif | |||
|  |         } | |||
|  |         // A persistent random number, used as an alternative to the device ID (WebGL cannot obtain the device ID) | |||
|  |         private static string RandomDeviceID() | |||
|  |         { | |||
|  |             string randomID = (string)ThinkingSDKFile.GetData(ThinkingSDKConstant.RANDOM_DEVICE_ID, typeof(string)); | |||
|  |             if (string.IsNullOrEmpty(randomID)) | |||
|  |             { | |||
|  |                 randomID = System.Guid.NewGuid().ToString("N"); | |||
|  |                 ThinkingSDKFile.SaveData(ThinkingSDKConstant.RANDOM_DEVICE_ID, randomID); | |||
|  |             } | |||
|  |             return randomID; | |||
|  |         } | |||
|  |         // network type | |||
|  |         public static string NetworkType() | |||
|  |         { | |||
|  |             if (ThinkingSDKUtil.DisPresetProperties.Contains(ThinkingSDKConstant.NETWORK_TYPE)) | |||
|  |             { | |||
|  |                 return ""; | |||
|  |             } | |||
|  |             string networkType = "NULL"; | |||
|  |             if (Application.internetReachability == NetworkReachability.ReachableViaCarrierDataNetwork) | |||
|  |             { | |||
|  |                 networkType = "Mobile"; | |||
|  |             } | |||
|  |             else if (Application.internetReachability == NetworkReachability.ReachableViaLocalAreaNetwork) | |||
|  |             { | |||
|  |                 networkType = "LAN"; | |||
|  |             } | |||
|  |             return networkType; | |||
|  |         } | |||
|  |         // carrier name | |||
|  |         public static string Carrier() | |||
|  |         { | |||
|  |             if (ThinkingSDKUtil.DisPresetProperties.Contains(ThinkingSDKConstant.CARRIER)) | |||
|  |             { | |||
|  |                 return ""; | |||
|  |             } | |||
|  |             return "NULL"; | |||
|  |         } | |||
|  |         // os name | |||
|  |         public static string OS() | |||
|  |         { | |||
|  |             if (ThinkingSDKUtil.DisPresetProperties.Contains(ThinkingSDKConstant.OS)) | |||
|  |             { | |||
|  |                 return ""; | |||
|  |             } | |||
|  |             string os = "other"; | |||
|  |             if (SystemInfo.operatingSystemFamily == OperatingSystemFamily.Linux) | |||
|  |             { | |||
|  |                 os = "Linux"; | |||
|  |             } | |||
|  |             else if (SystemInfo.operatingSystemFamily == OperatingSystemFamily.MacOSX) | |||
|  |             { | |||
|  |                 os = "MacOSX"; | |||
|  |             } | |||
|  |             else if (SystemInfo.operatingSystemFamily == OperatingSystemFamily.Windows) | |||
|  |             { | |||
|  |                 os = "Windows"; | |||
|  |             } | |||
|  |             return os; | |||
|  |         } | |||
|  |         // os version | |||
|  |         public static string OSVersion() | |||
|  |         { | |||
|  |             if (ThinkingSDKUtil.DisPresetProperties.Contains(ThinkingSDKConstant.OS_VERSION)) | |||
|  |             { | |||
|  |                 return ""; | |||
|  |             } | |||
|  |             return SystemInfo.operatingSystem; | |||
|  |         } | |||
|  |         // device screen width | |||
|  |         public static int ScreenWidth() | |||
|  |         { | |||
|  |             if (ThinkingSDKUtil.DisPresetProperties.Contains(ThinkingSDKConstant.SCREEN_WIDTH)) | |||
|  |             { | |||
|  |                 return 0; | |||
|  |             } | |||
|  |             return (int)(UnityEngine.Screen.currentResolution.width); | |||
|  |         } | |||
|  |         // device screen height | |||
|  |         public static int ScreenHeight() | |||
|  |         { | |||
|  |             if (ThinkingSDKUtil.DisPresetProperties.Contains(ThinkingSDKConstant.SCREEN_HEIGHT)) | |||
|  |             { | |||
|  |                 return 0; | |||
|  |             } | |||
|  |             return (int)(UnityEngine.Screen.currentResolution.height); | |||
|  |         } | |||
|  |         // graphics card manufacturer name | |||
|  |         public static string Manufacture() | |||
|  |         { | |||
|  |             if (ThinkingSDKUtil.DisPresetProperties.Contains(ThinkingSDKConstant.MANUFACTURE)) | |||
|  |             { | |||
|  |                 return ""; | |||
|  |             } | |||
|  |             return SystemInfo.graphicsDeviceVendor; | |||
|  |         } | |||
|  |         // devide model | |||
|  |         public static string DeviceModel() | |||
|  |         { | |||
|  |             if (ThinkingSDKUtil.DisPresetProperties.Contains(ThinkingSDKConstant.DEVICE_MODEL)) | |||
|  |             { | |||
|  |                 return ""; | |||
|  |             } | |||
|  |             return SystemInfo.deviceModel; | |||
|  |         } | |||
|  |         // device language | |||
|  |         public static string MachineLanguage() | |||
|  |         { | |||
|  |             if (ThinkingSDKUtil.DisPresetProperties.Contains(ThinkingSDKConstant.SYSTEM_LANGUAGE)) | |||
|  |             { | |||
|  |                 return ""; | |||
|  |             } | |||
|  |             switch (Application.systemLanguage) | |||
|  |             { | |||
|  |                 case SystemLanguage.Afrikaans: | |||
|  |                     return "af"; | |||
|  |                 case SystemLanguage.Arabic: | |||
|  |                     return "ar"; | |||
|  |                 case SystemLanguage.Basque: | |||
|  |                     return "eu"; | |||
|  |                 case SystemLanguage.Belarusian: | |||
|  |                     return "be"; | |||
|  |                 case SystemLanguage.Bulgarian: | |||
|  |                     return "bg"; | |||
|  |                 case SystemLanguage.Catalan: | |||
|  |                     return "ca"; | |||
|  |                 case SystemLanguage.Chinese: | |||
|  |                     return "zh"; | |||
|  |                 case SystemLanguage.Czech: | |||
|  |                     return "cs"; | |||
|  |                 case SystemLanguage.Danish: | |||
|  |                     return "da"; | |||
|  |                 case SystemLanguage.Dutch: | |||
|  |                     return "nl"; | |||
|  |                 case SystemLanguage.English: | |||
|  |                     return "en"; | |||
|  |                 case SystemLanguage.Estonian: | |||
|  |                     return "et"; | |||
|  |                 case SystemLanguage.Faroese: | |||
|  |                     return "fo"; | |||
|  |                 case SystemLanguage.Finnish: | |||
|  |                     return "fu"; | |||
|  |                 case SystemLanguage.French: | |||
|  |                     return "fr"; | |||
|  |                 case SystemLanguage.German: | |||
|  |                     return "de"; | |||
|  |                 case SystemLanguage.Greek: | |||
|  |                     return "el"; | |||
|  |                 case SystemLanguage.Hebrew: | |||
|  |                     return "he"; | |||
|  |                 case SystemLanguage.Icelandic: | |||
|  |                     return "is"; | |||
|  |                 case SystemLanguage.Indonesian: | |||
|  |                     return "id"; | |||
|  |                 case SystemLanguage.Italian: | |||
|  |                     return "it"; | |||
|  |                 case SystemLanguage.Japanese: | |||
|  |                     return "ja"; | |||
|  |                 case SystemLanguage.Korean: | |||
|  |                     return "ko"; | |||
|  |                 case SystemLanguage.Latvian: | |||
|  |                     return "lv"; | |||
|  |                 case SystemLanguage.Lithuanian: | |||
|  |                     return "lt"; | |||
|  |                 case SystemLanguage.Norwegian: | |||
|  |                     return "nn"; | |||
|  |                 case SystemLanguage.Polish: | |||
|  |                     return "pl"; | |||
|  |                 case SystemLanguage.Portuguese: | |||
|  |                     return "pt"; | |||
|  |                 case SystemLanguage.Romanian: | |||
|  |                     return "ro"; | |||
|  |                 case SystemLanguage.Russian: | |||
|  |                     return "ru"; | |||
|  |                 case SystemLanguage.SerboCroatian: | |||
|  |                     return "sr"; | |||
|  |                 case SystemLanguage.Slovak: | |||
|  |                     return "sk"; | |||
|  |                 case SystemLanguage.Slovenian: | |||
|  |                     return "sl"; | |||
|  |                 case SystemLanguage.Spanish: | |||
|  |                     return "es"; | |||
|  |                 case SystemLanguage.Swedish: | |||
|  |                     return "sv"; | |||
|  |                 case SystemLanguage.Thai: | |||
|  |                     return "th"; | |||
|  |                 case SystemLanguage.Turkish: | |||
|  |                     return "tr"; | |||
|  |                 case SystemLanguage.Ukrainian: | |||
|  |                     return "uk"; | |||
|  |                 case SystemLanguage.Vietnamese: | |||
|  |                     return "vi"; | |||
|  |                 case SystemLanguage.ChineseSimplified: | |||
|  |                     return "zh"; | |||
|  |                 case SystemLanguage.ChineseTraditional: | |||
|  |                     return "zh"; | |||
|  |                 case SystemLanguage.Hungarian: | |||
|  |                     return "hu"; | |||
|  |                 case SystemLanguage.Unknown: | |||
|  |                     return "unknown"; | |||
|  | 
 | |||
|  |             }; | |||
|  |             return ""; | |||
|  |         } | |||
|  |     } | |||
|  | } | |||
|  | 
 |