| using System.Collections; | 
| using System.Collections.Generic; | 
| using UnityEngine; | 
| using System.Diagnostics; | 
|   | 
| public class ResolutionUtility  | 
| { | 
|     public static readonly Vector2 originalResolution = new Vector2(Screen.width, Screen.height);  | 
|     public static Vector2 currentResolution = new Vector2(Screen.width, Screen.height); | 
|   | 
|     [Conditional("UNITY_ANDROID")] | 
|     public static void AdjustResolution()  | 
|     {  | 
|         Screen.SetResolution(Mathf.RoundToInt(currentResolution.x), Mathf.RoundToInt(currentResolution.y), true);  | 
|     }  | 
|   | 
|     public static void AdjustResolution(GameQuality _quality)  | 
|     {  | 
|         switch (_quality)  | 
|         {  | 
|             case GameQuality.Low:  | 
|                 currentResolution = ConvertResolution(new Vector2(1280, 720));  | 
|                 break;  | 
|             case GameQuality.Medium:  | 
|                 currentResolution = ConvertResolution(new Vector2(1920, 1080));  | 
|                 break;  | 
|             case GameQuality.High:  | 
|                 currentResolution = ConvertResolution(new Vector2(1920, 1080));  | 
|                 break;  | 
|         }  | 
|   | 
|         Screen.SetResolution(Mathf.RoundToInt(currentResolution.x), Mathf.RoundToInt(currentResolution.y), true);  | 
|     }  | 
|   | 
|     static Vector2 ConvertResolution(Vector2 _inputResolution)  | 
|     {  | 
|         var resolution = Screen.currentResolution;  | 
|         var ratio = (resolution.width / (float)resolution.height) / ((float)16 / 9);  | 
|   | 
|         var height = 0f;  | 
|         var width = 0f;  | 
|         if (ratio > 1)  | 
|         {  | 
|             height = _inputResolution[1];  | 
|             width = Mathf.RoundToInt(resolution.width / (float)resolution.height * height);  | 
|         }  | 
|         else  | 
|         {  | 
|             width = _inputResolution[0];  | 
|             height = Mathf.RoundToInt((float)resolution.height / resolution.width * width);  | 
|         }  | 
|   | 
|         if (height * width - originalResolution.x * originalResolution.y > 10)  | 
|         {  | 
|             return originalResolution;  | 
|         }  | 
|         else  | 
|         {  | 
|             return new Vector2(width, height);  | 
|         }  | 
|   | 
|     } | 
|   | 
| } |