shenjianxing 6b341ae2b4 适配VR
2025-04-01 16:16:45 +08:00

56 lines
1.7 KiB
C#

////////////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2007-2020 , Inc. All Rights Reserved.
//
////////////////////////////////////////////////////////////////////////////////
using UnityEngine;
namespace GCSeries.Core.UI
{
[ExecuteInEditMode]
[RequireComponent(typeof(Canvas))]
public class ZCanvasScaler : MonoBehaviour
{
////////////////////////////////////////////////////////////////////////
// MonoBehaviour Callbacks
////////////////////////////////////////////////////////////////////////
private void Awake()
{
this._rectTransform = this.GetComponent<RectTransform>();
}
private void Update()
{
this.UpdateSize();
this.UpdateScale();
}
////////////////////////////////////////////////////////////////////////
// Private Methods
////////////////////////////////////////////////////////////////////////
private void UpdateSize()
{
this._rectTransform.sizeDelta = ZProvider.WindowSizePixels;
}
private void UpdateScale()
{
Vector2 metersPerPixel = ZProvider.DisplayMetersPerPixel;
this._rectTransform.localScale = new Vector3(
metersPerPixel.x,
metersPerPixel.y,
Mathf.Min(metersPerPixel.x, metersPerPixel.y));
}
////////////////////////////////////////////////////////////////////////
// Private Members
////////////////////////////////////////////////////////////////////////
private RectTransform _rectTransform = null;
}
}