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