| using System.Collections; | 
| using System.Collections.Generic; | 
| using UnityEngine; | 
| using UnityEngine.UI; | 
|   | 
| [DisallowMultipleComponent] | 
| [RequireComponent(typeof(Canvas))] | 
| public class DebugCanvasAddition : MonoBehaviour | 
| { | 
|   | 
|     [SerializeField] | 
|     Canvas m_Canvas; | 
|     public Canvas canvas { | 
|         get { | 
|             return this.m_Canvas ?? (this.m_Canvas = this.GetComponent<Canvas>()); | 
|         } | 
|     } | 
|   | 
|     void Start() | 
|     { | 
|         var canvasScaler = this.GetComponent<CanvasScaler>(); | 
|         if (canvasScaler != null && canvasScaler.screenMatchMode == CanvasScaler.ScreenMatchMode.MatchWidthOrHeight) | 
|         { | 
|             var screenAspect = Screen.width / (float)Screen.height; | 
|             var referenceAspect = canvasScaler.referenceResolution.x / (float)canvasScaler.referenceResolution.y; | 
|   | 
|             if ((screenAspect - referenceAspect) > 0.0001f) | 
|             { | 
|                 canvasScaler.matchWidthOrHeight = 1f; | 
|             } | 
|             else | 
|             { | 
|                 canvasScaler.matchWidthOrHeight = 0f; | 
|             } | 
|         } | 
|     } | 
|   | 
| } |