버그 수정 중. 이동 후 남겨지는 경우가 있음
This commit is contained in:
@@ -12,7 +12,7 @@ namespace Gpm.Ui
|
||||
/// <b>UI 계층 구조 예시:</b>
|
||||
/// <code>
|
||||
/// - Background (RectTransform)
|
||||
/// - Content (RectTransform, VerticalLayoutGroup, ContentSizeFitter, ContentSizeSetter)
|
||||
/// - Content (RectTransform, VerticalLayoutGroup, ContentSizeFitter, ContentSizeSetter)
|
||||
/// - Item1 (Image)
|
||||
/// - Item2 (Image)
|
||||
/// - ...
|
||||
@@ -45,16 +45,28 @@ namespace Gpm.Ui
|
||||
}
|
||||
}
|
||||
|
||||
[Tooltip("넓이에 크기 조절 적용")]
|
||||
[SerializeField]
|
||||
public bool EnableWidth = true;
|
||||
|
||||
[Tooltip("높이에 크기 조절 적용")]
|
||||
[SerializeField]
|
||||
public bool EnableHeight = true;
|
||||
|
||||
/// <summary>
|
||||
/// 크기를 조절할 때 추가할 여백(margin)입니다.
|
||||
/// x, y 값을 설정하여 target의 너비와 높이에 각각 추가적인 공간을 줄 수 있습니다.
|
||||
/// </summary>
|
||||
[Tooltip("크기를 조절할 때 추가할 여백(margin)입니다.")]
|
||||
[SerializeField]
|
||||
public Vector2 margin;
|
||||
|
||||
/// <summary>
|
||||
/// 이 컴포넌트의 크기에 맞춰 함께 크기가 조절될 RectTransform(들)의 배열입니다.
|
||||
/// 인스펙터 창에서 크기를 동기화할 UI 요소들을 여기에 할당합니다.
|
||||
/// </summary>
|
||||
[Tooltip("이 컴포넌트의 크기에 맞춰 함께 크기가 조절될 RectTransform(들)의 배열입니다.")]
|
||||
[SerializeField]
|
||||
public RectTransform[] target;
|
||||
|
||||
/// <summary>
|
||||
@@ -76,12 +88,13 @@ namespace Gpm.Ui
|
||||
|
||||
// 현재 RectTransform의 크기에 margin 값을 더하여 최종 크기를 계산합니다.
|
||||
Vector2 sizeDelta = new Vector2(rectTransform.sizeDelta.x + margin.x, rectTransform.sizeDelta.y + margin.y);
|
||||
|
||||
if (target != null)
|
||||
{
|
||||
// target 배열의 모든 RectTransform에 대해 계산된 크기를 적용합니다.
|
||||
for (int i = 0; i < target.Length; i++)
|
||||
{
|
||||
if (!EnableWidth) sizeDelta.x = target[i].sizeDelta.x;
|
||||
if (!EnableHeight) sizeDelta.y = target[i].sizeDelta.y;
|
||||
target[i].sizeDelta = sizeDelta;
|
||||
// target의 레이아웃을 갱신하도록 표시하여 UI가 올바르게 다시 그려지도록 합니다.
|
||||
LayoutRebuilder.MarkLayoutForRebuild(target[i]);
|
||||
|
||||
@@ -70,7 +70,6 @@ namespace Gpm.Ui
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (force == true)
|
||||
{
|
||||
// 즉시 레이아웃을 강제로 다시 계산합니다.
|
||||
|
||||
Reference in New Issue
Block a user