using TMPro; using UnityEngine; using UnityEngine.UI; namespace Continentis.MainGame.UI { public class InformationBox : UIElementBase { public Image titleBackground, contentBackground; public TMP_Text titleText, contentText; /// /// 卡牌的关键词和描述 /// public void Initialize(string title, string content) { titleText.text = title; contentText.text = content; LayoutRebuilder.ForceRebuildLayoutImmediate(rectTransform); SetBackground(); } /// /// Buff的名称和描述 /// 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); } } }