private void Refresh() { if (_rt == null) { return; } if (!IsResizeSourceChanged() && !_rrChanged) { return; } _lastRS = _rs; if (_rs == ResizeSource.ScreenSize) { _rt.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Left, Screen.safeArea.x, Screen.safeArea.width); _rt.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Bottom, Screen.safeArea.y, Screen.safeArea.height); } else if (_rs == ResizeSource.Customize) { Rect scaledSafeArea = ResolutionUtility.GetScaledSafeArea(); _rt.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Left, scaledSafeArea.x, scaledSafeArea.width); _rt.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Bottom, scaledSafeArea.y, scaledSafeArea.height); } }
private void Refresh() { if (_cs == null) { return; } if (!IsResizeSourceChanged() && !IsScreenOrientationChanged() && !IsResolutionChanged()) { return; } _lastRS = _rs; _lastScreenOri = Screen.orientation; _lastResolution = new Vector2(Screen.width, Screen.height); if (_rs == ResizeSource.ScreenSize) { _cs.referenceResolution = new Vector2(Screen.width, Screen.height); _cs.screenMatchMode = CanvasScaler.ScreenMatchMode.MatchWidthOrHeight; _cs.matchWidthOrHeight = Screen.width > Screen.height ? 0 : 1; } else if (_rs == ResizeSource.Customize) { Vector2 resolution = ResolutionUtility.GetCustomizedReferenceResolution(); float match = ResolutionUtility.GetMatchWidthOrHeight(); _cs.referenceResolution = new Vector2(resolution.x, resolution.y); _cs.screenMatchMode = CanvasScaler.ScreenMatchMode.MatchWidthOrHeight; _cs.matchWidthOrHeight = match; } if (onChanged != null) { onChanged(); } }