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