void Awake() { #if UNITY_IOS phoneID = SystemInfo.deviceUniqueIdentifier; phoneType = iPhone.generation; #endif }
public static bool CheckCanCacheResource() { #if UNITY_EDITOR return(true); #elif UNITY_IPHONE iPhoneGeneration iosGen = iPhone.generation; if (iosGen == iPhoneGeneration.iPhone4S || iosGen == iPhoneGeneration.iPhone4) { return(true); } else { return(false); } #elif UNITY_ANDROID long ram = long.Parse(PhoneInfo.getTotalMemory()) / 1024 / 1024; if (ram >= 1024) { return(false); } else { return(true); } #else return(true); #endif }
/// <summary> /// 初始设置性能参数 /// </summary> public static void InitPerformanceLevel() { int level = 0; //对应于Edit-Project Settings-Quality中的6个级别(0-5) if (Application.platform == RuntimePlatform.IPhonePlayer) { if (SystemInfo.processorCount == 1) { level = 0; } else { level = 2; } } else if (Application.platform == RuntimePlatform.WindowsPlayer || Application.platform == RuntimePlatform.WindowsEditor) { level = 5; } else if (SystemInfo.processorCount <= 2) { level = 1; } else if (SystemInfo.processorCount > 2) { level = 2; } #if UNITY_IPHONE iPhoneGeneration gen = iPhone.generation; if (gen == iPhoneGeneration.iPhone4) { level = 0; } #endif //level = 1; QualitySettings.SetQualityLevel(level); switch (level) { case 0: QualitySettings.masterTextureLimit = 1; break; case 1: QualitySettings.masterTextureLimit = 1; break; case 2: case 3: case 4: case 5: UI_SHADER_GRAY = "(TrueGray)"; UI_GRAY_COLOR = Color.black; break; } MyDebug.Log("质量级别:" + level + ",gray=" + UI_SHADER_GRAY); }
// 判断是否是iPhone4s public static bool IsIphone4s() { #if UNITY_IPHONE iPhoneGeneration iosGen = iPhone.generation; if (iosGen == iPhoneGeneration.iPhone4S) { return(true); } else { return(false); } #else return(false); #endif }
public static PERFORMANCE_ENUM GetPerformanceType() { iPhoneGeneration iosGen = iPhone.generation; if (iosGen == iPhoneGeneration.iPhone4S || iosGen == iPhoneGeneration.iPhone4) { return(PERFORMANCE_ENUM.LOW); } else if (iosGen == iPhoneGeneration.iPhone6 || iosGen == iPhoneGeneration.iPhone6Plus) { return(PERFORMANCE_ENUM.MIDDLE); } // 其他统一为中配 return(PERFORMANCE_ENUM.MIDDLE); }
protected DeviceAssetsType GetAssetsTypeForIOS(iPhoneGeneration deviceGen) { // Search through configured low res devices. for(int i = 0; i < lowResDevices.Length; i++) { if (lowResDevices[i] == deviceGen) { return DeviceAssetsType.LowRes; } } // Search through configured high res devices. for(int i = 0; i < highResDevices.Length; i++) { if (highResDevices[i] == deviceGen) { return DeviceAssetsType.HighRes; } } return defaultAssetsType; }
protected DeviceAssetsType GetAssetsTypeForIOS(iPhoneGeneration deviceGen) { // Search through configured low res devices. for (int i = 0; i < lowResDevices.Length; i++) { if (lowResDevices[i] == deviceGen) { return(DeviceAssetsType.LowRes); } } // Search through configured high res devices. for (int i = 0; i < highResDevices.Length; i++) { if (highResDevices[i] == deviceGen) { return(DeviceAssetsType.HighRes); } } return(defaultAssetsType); }
WebViewHeightType GetCurrentHeightTyp(iPhoneGeneration generation) { switch (generation) { case iPhoneGeneration.iPhone: case iPhoneGeneration.iPhone3G: case iPhoneGeneration.iPhone3GS: case iPhoneGeneration.iPodTouch1Gen: case iPhoneGeneration.iPodTouch2Gen: case iPhoneGeneration.iPodTouch3Gen: //普通屏 320像素 x 480像素 iPhone 1、3G、3GS,iPod Touch 1、2、3 return(WebViewHeightType.HEIGHT_480); case iPhoneGeneration.iPhone4: case iPhoneGeneration.iPhone4S: case iPhoneGeneration.iPodTouch4Gen: //3:2 Retina 屏 640像素 x 960像素 iPhone 4、4S,iPod Touch 4 return(WebViewHeightType.HEIGHT_960); case iPhoneGeneration.iPhone5: case iPhoneGeneration.iPodTouch5Gen: //16:9 Retina 屏 640像素 x 1136像素 iPhone 5,iPod Touch 5 return(WebViewHeightType.HEIGHT_1136); case iPhoneGeneration.iPad1Gen: case iPhoneGeneration.iPad2Gen: case iPhoneGeneration.iPadMini1Gen: //普通屏 768像素 x 1024像素 iPad 1, iPad2,iPad mini return(WebViewHeightType.HEIGHT_1024); case iPhoneGeneration.iPad3Gen: case iPhoneGeneration.iPad4Gen: //Retina屏 1536像素 x 2048像素 New iPad,iPad 4 return(WebViewHeightType.HEIGHT_2048); default: return(WebViewHeightType.HEIGHT_1024); } }
// 判断是否内存512 public static bool MemoryLow512() { #if UNITY_IPHONE iPhoneGeneration iosGen = iPhone.generation; if (iosGen == iPhoneGeneration.iPhone4) { return(true); } else { return(false); } #else if (SystemInfo.systemMemorySize < 512) { return(true); } else { return(false); } #endif }
static void collectRenderInfo() { setTextureQuality(); if (SystemConfig.isUserSetRenderQuality()) { SystemConfig.setAnisotropicFilter(); return; } #if UNITY_IPHONE iPhoneGeneration iosGen = iPhone.generation; if (iosGen == iPhoneGeneration.Unknown) { SystemConfig.renderquality = Renderquality.VeryHigh; } if (iosGen == iPhoneGeneration.iPad3Gen || iosGen == iPhoneGeneration.iPad4Gen || iosGen == iPhoneGeneration.iPad5Gen) { SystemConfig.renderquality = Renderquality.High; } if (iosGen <= iPhoneGeneration.iPad2Gen) { // // //// ժҪ: //// First generation device. //iPhone = 1, //// //// ժҪ: //// Second generation. //iPhone3G = 2, //// //// ժҪ: //// Third generation. //iPhone3GS = 3, //// //// ժҪ: //// iPod Touch, first generation. //iPodTouch1Gen = 4, //// //// ժҪ: //// iPod Touch, second generation. //iPodTouch2Gen = 5, //// //// ժҪ: //// iPod Touch, third generation. //iPodTouch3Gen = 6, //// //// ժҪ: //// iPad, first generation. //iPad1Gen = 7, //// //// ժҪ: //// Fourth generation. //iPhone4 = 8, //// //// ժҪ: //// iPod Touch, fourth generation. //iPodTouch4Gen = 9, //// //// ժҪ: //// iPad, second generation. //iPad2Gen = 10, SystemConfig.renderquality = Renderquality.Low; } else if (iosGen <= iPhoneGeneration.iPad3Gen || iosGen == iPhoneGeneration.iPadMini1Gen || iosGen == iPhoneGeneration.iPad4Gen) { // // //// ժҪ: //// Fifth generation. //iPhone4S = 11, //// //// ժҪ: //// iPad, third generation. //iPad3Gen = 12, // // ժҪ: //// iPadMini, first generation. //iPadMini1Gen = 15, //// //// ժҪ: //// iPad, fourth generation. //iPad4Gen = 16, SystemConfig.renderquality = Renderquality.Normal; } else if (iosGen <= iPhoneGeneration.iPadMini2Gen) { // // //// ժҪ: //// iPhone5. //iPhone5 = 13, //// //// ժҪ: //// iPod Touch, fifth generation. //iPodTouch5Gen = 14, if (iosGen == iPhoneGeneration.iPhone5S) { SystemConfig.renderquality = Renderquality.VeryHigh; } SystemConfig.renderquality = Renderquality.High; } //else if (iosGen == iPhoneGeneration.iPadMini2Gen) //{ // return Renderquality.VeryHigh; //} else { SystemConfig.renderquality = Renderquality.VeryHigh; } #elif UNITY_ANDROID SystemConfig.renderquality = getAndroidDefaultRenderQuality(); Debug.Log("Android Renderquality = " + SystemConfig.renderquality.ToString()); #else //return Renderquality.Normal; SystemConfig.renderquality = Renderquality.Normal; #endif }
public static void SetGameQuality() { var defaultQualityLevel = 3; #if UNITY_IOS iPhoneGeneration iOSGen = iPhone.generation; if (iOSGen == iPhoneGeneration.iPhone3GS) { defaultQualityLevel = 1; } else if (iOSGen == iPhoneGeneration.iPhone4) { defaultQualityLevel = 1; } else if (iOSGen == iPhoneGeneration.iPhone4S) { defaultQualityLevel = 1; } else if (iOSGen == iPhoneGeneration.iPhone5 || iOSGen == iPhoneGeneration.iPhone5C) { defaultQualityLevel = 2; } else if (iOSGen == iPhoneGeneration.iPhone5S || iOSGen == iPhoneGeneration.iPhone6 || iOSGen == iPhoneGeneration.iPhone6Plus) { defaultQualityLevel = 3; } else if (iOSGen == iPhoneGeneration.iPad1Gen) { defaultQualityLevel = 1; } else if (iOSGen == iPhoneGeneration.iPad2Gen) { defaultQualityLevel = 1; } else if (iOSGen == iPhoneGeneration.iPad3Gen) { defaultQualityLevel = 2; } else if (iOSGen == iPhoneGeneration.iPodTouch3Gen) { defaultQualityLevel = 2; } else if (iOSGen == iPhoneGeneration.iPodTouch4Gen) { defaultQualityLevel = 2; } else { string device = SystemInfo.deviceModel; if (device == "iPhone") { defaultQualityLevel = 3; } else if (device == "iPad") { defaultQualityLevel = 3; } else if (device == "iPod") { defaultQualityLevel = 1; } } #endif #if UNITY_ANDROID var shaderLevel = SystemInfo.graphicsShaderLevel; var fillrate = SystemInfo.graphicsPixelFillrate; var vram = SystemInfo.graphicsMemorySize; var cpus = SystemInfo.processorCount; if (fillrate < 0) { if (shaderLevel < 10) { fillrate = 1000; } else if (shaderLevel < 20) { fillrate = 1300; } else if (shaderLevel < 30) { fillrate = 2000; } else { fillrate = 3000; } if (cpus >= 6) { fillrate *= 3; } else if (cpus >= 3) { fillrate *= 2; } if (vram >= 512) { fillrate *= 2; } else if (vram <= 100) { fillrate /= 2; } } var resx = Screen.width; var resy = Screen.height; var fillneed = (float)((resx * resy + 400 * 300) * (30.0 / 1000000.0)); float[] levelmult = { 0, 30f, 60f, 120f }; var level = 0; while (level < 3 && fillrate > fillneed * levelmult[level]) { ++level; } Logger.Debug(String.Format("-------------------------shaderLevel {0},cpus {1}, vram {2}", shaderLevel, cpus, vram)); Logger.Debug(String.Format("-------------------------{0}x{1} need {2} has {3} = {4} level", resx, resy, fillneed, fillrate, level)); defaultQualityLevel = level; #endif if (null == GameSetting.Instance) { Logger.Error("GameSetting.Instance = null , call SetGameQuality too early!"); return; } GameSetting.Instance.GameQualityLevel = PlayerPrefs.GetInt(GameSetting.GameQuilatyKey, defaultQualityLevel); GameSetting.Instance.GameResolutionLevel = PlayerPrefs.GetInt(GameSetting.GameResolutionKey, 3); }
public void In( [FriendlyName("Output To Use", "The output switch to use.")] [DefaultValue(iPhoneGeneration.Unknown)] iPhoneGeneration CurrentOutput ) { // Set correct output socket to true if (m_SwitchOpen) { switch (CurrentOutput) { case iPhoneGeneration.iPhone: iPhone(this, new System.EventArgs()); break; case iPhoneGeneration.iPhone3G: iPhone3G(this, new System.EventArgs()); break; case iPhoneGeneration.iPhone3GS: iPhone3GS(this, new System.EventArgs()); break; case iPhoneGeneration.iPodTouch1Gen: iPodTouch1Gen(this, new System.EventArgs()); break; case iPhoneGeneration.iPodTouch2Gen: iPodTouch2Gen(this, new System.EventArgs()); break; case iPhoneGeneration.iPodTouch3Gen: iPodTouch3Gen(this, new System.EventArgs()); break; case iPhoneGeneration.iPad1Gen: iPad1Gen(this, new System.EventArgs()); break; case iPhoneGeneration.iPhone4: iPhone4(this, new System.EventArgs()); break; case iPhoneGeneration.iPodTouch4Gen: iPodTouch4Gen(this, new System.EventArgs()); break; case iPhoneGeneration.iPad2Gen: iPad2Gen(this, new System.EventArgs()); break; case iPhoneGeneration.iPhone4S: iPhone4S(this, new System.EventArgs()); break; case iPhoneGeneration.iPad3Gen: iPad3Gen(this, new System.EventArgs()); break; case iPhoneGeneration.iPhone5: iPhone5(this, new System.EventArgs()); break; case iPhoneGeneration.iPodTouch5Gen: iPodTouch5Gen(this, new System.EventArgs()); break; case iPhoneGeneration.iPhoneUnknown: iPhoneUnknown(this, new System.EventArgs()); break; case iPhoneGeneration.iPadUnknown: iPadUnknown(this, new System.EventArgs()); break; case iPhoneGeneration.iPodTouchUnknown: iPodTouchUnknown(this, new System.EventArgs()); break; default: Unknown(this, new System.EventArgs()); break; } } }
public static void SetGameQuality() { var defaultQualityLevel = 3; #if UNITY_IOS { iPhoneGeneration iOSGen = iPhone.generation; if (iOSGen == iPhoneGeneration.iPhone3GS) { defaultQualityLevel = 1; } else if (iOSGen == iPhoneGeneration.iPhone4) { defaultQualityLevel = 1; } else if (iOSGen == iPhoneGeneration.iPhone4S) { defaultQualityLevel = 1; } else if (iOSGen == iPhoneGeneration.iPhone5 || iOSGen == iPhoneGeneration.iPhone5C) { defaultQualityLevel = 2; } else if (iOSGen == iPhoneGeneration.iPhone5S || iOSGen == iPhoneGeneration.iPhone6 || iOSGen == iPhoneGeneration.iPhone6Plus) { defaultQualityLevel = 3; } else if (iOSGen == iPhoneGeneration.iPad1Gen) { defaultQualityLevel = 1; } else if (iOSGen == iPhoneGeneration.iPad2Gen) { defaultQualityLevel = 1; } else if (iOSGen == iPhoneGeneration.iPad3Gen) { defaultQualityLevel = 2; } else if (iOSGen == iPhoneGeneration.iPodTouch3Gen) { defaultQualityLevel = 2; } else if (iOSGen == iPhoneGeneration.iPodTouch4Gen) { defaultQualityLevel = 2; } else { string device = SystemInfo.deviceModel; Logger.Debug("Current device is :" + device); if (device == "iPhone") { defaultQualityLevel = 3; } else if (device == "iPad") { defaultQualityLevel = 3; } else if (device == "iPod") { defaultQualityLevel = 1; } } } #endif #if UNITY_ANDROID { var ram = SystemInfo.systemMemorySize; // var vram = SystemInfo.graphicsMemorySize; var cpus = SystemInfo.processorCount; if (cpus > 4 && ram >= 2800) { defaultQualityLevel = 3; } else if (ram >= 1900) { defaultQualityLevel = 2; } else { defaultQualityLevel = 1; } } #endif if (null == GameSetting.Instance) { Logger.Error("GameSetting.Instance = null , call SetGameQuality too early!"); return; } var level = PlayerPrefs.GetInt(GameSetting.GameQuilatyKey, defaultQualityLevel); if (level < 1) { level = defaultQualityLevel; } GameSetting.Instance.GameQualityLevel = level; }
static void Init() { generation = iPhoneGeneration.iPhone; scaleFactor = Startup.ScaleFactor; }
void InitPosition(iPhoneGeneration generation) { switch (generation) { case iPhoneGeneration.iPhone: case iPhoneGeneration.iPhone3G: case iPhoneGeneration.iPhone3GS: case iPhoneGeneration.iPodTouch1Gen: case iPhoneGeneration.iPodTouch2Gen: case iPhoneGeneration.iPodTouch3Gen: //普通屏 320像素 x 480像素 iPhone 1、3G、3GS,iPod Touch 1、2、3 top = 114; bottom = 141; left = 23; right = 23; break; case iPhoneGeneration.iPhone4: case iPhoneGeneration.iPhone4S: case iPhoneGeneration.iPodTouch4Gen: //3:2 Retina 屏 640像素 x 960像素 iPhone 4、4S,iPod Touch 4 top = 229; bottom = 282; left = 46; right = 46; break; case iPhoneGeneration.iPhone5: case iPhoneGeneration.iPodTouch5Gen: //16:9 Retina 屏 640像素 x 1136像素 iPhone 5,iPod Touch 5 top = 317; bottom = 370; left = 46; right = 46; break; case iPhoneGeneration.iPad1Gen: case iPhoneGeneration.iPad2Gen: case iPhoneGeneration.iPadMini1Gen: //普通屏 768像素 x 1024像素 iPad 1, iPad2,iPad mini top = 261; bottom = 314; left = 110; right = 110; break; case iPhoneGeneration.iPad3Gen: case iPhoneGeneration.iPad4Gen: //Retina屏 1536像素 x 2048像素 New iPad,iPad 4 top = 522; bottom = 628; left = 220; right = 220; break; case iPhoneGeneration.iPhoneUnknown: //Retina屏 for 5s,5c // top = 317; bottom = 370; left = 46; right = 46; break; case iPhoneGeneration.iPadUnknown: //Retina屏 for ipad air(5) , mini2 // top = 522; bottom = 628; left = 220; right = 220; break; case iPhoneGeneration.iPodTouchUnknown: break; default: break; } }