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);  
 | 
        }  
 | 
  
 | 
    } 
 | 
  
 | 
} 
 |