Files
Continentis/Assets/Scripts/MainGame/UI/General/InformationBox.cs
SoulliesOfficial 9b1b5ca93f initial
2025-10-03 00:02:43 -04:00

48 lines
1.7 KiB
C#

using TMPro;
using UnityEngine;
using UnityEngine.UI;
namespace Continentis.MainGame.UI
{
public class InformationBox : UIElementBase
{
public Image titleBackground, contentBackground;
public TMP_Text titleText, contentText;
/// <summary>
/// 卡牌的关键词和描述
/// </summary>
public void Initialize(string title, string content)
{
titleText.text = title;
contentText.text = content;
LayoutRebuilder.ForceRebuildLayoutImmediate(rectTransform);
SetBackground();
}
/// <summary>
/// Buff的名称和描述
/// </summary>
public void Initialize(string title, string content, Vector2 basePosition)
{
titleText.text = title;
contentText.text = content;
LayoutRebuilder.ForceRebuildLayoutImmediate(rectTransform);
SetBackground();
SetPosition(basePosition);
}
private void SetBackground()
{
titleBackground.rectTransform.sizeDelta = new Vector2(0, titleText.preferredHeight + 10);
contentBackground.rectTransform.sizeDelta = new Vector2(0, contentText.preferredHeight + 10);
}
private void SetPosition(Vector2 basePosition)
{
float xOffset = basePosition.x < Screen.width / 2f ? -rectTransform.rect.width / 2 : rectTransform.rect.width / 2;
float yOffset = basePosition.y < Screen.height / 2f ? rectTransform.rect.height / 2 : -rectTransform.rect.height / 2;
rectTransform.anchoredPosition = new Vector2(basePosition.x + xOffset, basePosition.y + yOffset);
}
}
}