56 lines
1.7 KiB
C#
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;
|
|
}
|
|
}
|