Fix AspectRatioLayoutElement to use its own transform.

This commit is contained in:
2022-10-01 15:48:53 +08:00
parent cd4ea557c3
commit adbe4370c9
2 changed files with 7 additions and 24 deletions

View File

@@ -1,17 +1,9 @@
using System;
using UnityEngine;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
namespace Cryville.Common.Unity.UI {
public class AspectRatioLayoutElement : UIBehaviour, ILayoutElement {
[SerializeField]
private RectTransform m_containerTransform = null;
public RectTransform ContainerTransform {
get { return m_containerTransform; }
set { SetProperty(ref m_containerTransform, value); }
}
[SerializeField]
private float m_aspectRatio = 1;
public float AspectRatio {
@@ -40,8 +32,8 @@ namespace Cryville.Common.Unity.UI {
public float minWidth {
get {
return m_isVertical
? m_containerTransform.rect.width
: m_containerTransform.rect.height * m_aspectRatio;
? (transform as RectTransform).rect.width
: (transform as RectTransform).rect.height * m_aspectRatio;
}
}
public float preferredWidth { get { return minWidth; } }
@@ -50,8 +42,8 @@ namespace Cryville.Common.Unity.UI {
public float minHeight {
get {
return m_isVertical
? m_containerTransform.rect.width / m_aspectRatio
: m_containerTransform.rect.height;
? (transform as RectTransform).rect.width / m_aspectRatio
: (transform as RectTransform).rect.height;
}
}
public float preferredHeight { get { return minHeight; } }
@@ -59,13 +51,6 @@ namespace Cryville.Common.Unity.UI {
public int layoutPriority { get { return 1; } }
private bool isRootLayoutGroup {
get {
Transform parent = transform.parent;
return parent == null || transform.parent.GetComponent(typeof(ILayoutGroup)) == null;
}
}
public void CalculateLayoutInputHorizontal() { }
public void CalculateLayoutInputVertical() { }