using UnityEngine;
using UnityEngine.UI;
namespace GFGGame
{
public class PadMaskView : MonoBehaviour
{
private static GameObject _ui;
private Image BorderLeft;
private Image BorderRight;
///
/// 打开界面
///
public static void Open()
{
var go = Resources.Load("UUI/Launcher/UIPadMask");
_ui = GameObject.Instantiate(go);
DontDestroyOnLoad(_ui);
}
///
/// 关闭界面
///
///
public static void Close()
{
GameObject.DestroyImmediate(_ui);
_ui = null;
}
private void Start()
{
BorderLeft = _ui.transform.Find("BorderLeft").GetComponent();
BorderRight = _ui.transform.Find("BorderRight").GetComponent();
InitBorder();
}
private void InitBorder()
{
//这里做了最大宽度适配
float targetWidth;
float maxAspectRatio = 1080 * 1.0f / 1920;
if (Screen.width * 1.0f / Screen.height > maxAspectRatio)
{
targetWidth = Screen.height * maxAspectRatio;
}
else
{
targetWidth = Screen.width;
}
float leftX = - targetWidth / 2;
float rightX = -leftX;
float maskWidth = (Screen.width - targetWidth) / 2;
BorderLeft.rectTransform.anchoredPosition = new Vector2(leftX, 0);
BorderRight.rectTransform.anchoredPosition = new Vector2(rightX, 0);
BorderLeft.rectTransform.sizeDelta = new Vector2(maskWidth, BorderLeft.rectTransform.sizeDelta.y);
BorderRight.rectTransform.sizeDelta = BorderLeft.rectTransform.sizeDelta;
}
}
}