46 lines
1.1 KiB
C#
46 lines
1.1 KiB
C#
using TMPro;
|
||
using UI.HintUI;
|
||
using UnityEngine;
|
||
|
||
namespace TH1_UI.HintUI
|
||
{
|
||
/// <summary>
|
||
/// SubHint 子项,持有一个 HintDataProvider,根据其内容自动设置文本。
|
||
/// </summary>
|
||
public class SubHintItemMono : MonoBehaviour
|
||
{
|
||
[SerializeField] private TextMeshProUGUI _text;
|
||
|
||
private HintDataProvider _dataProvider;
|
||
|
||
private void Awake()
|
||
{
|
||
if (_text == null)
|
||
_text = GetComponentInChildren<TextMeshProUGUI>(true);
|
||
}
|
||
|
||
/// <summary>
|
||
/// 设置数据源并刷新显示文本。
|
||
/// </summary>
|
||
public void SetDataProvider(HintDataProvider dataProvider)
|
||
{
|
||
_dataProvider = dataProvider;
|
||
Refresh();
|
||
}
|
||
|
||
/// <summary>
|
||
/// 根据当前 DataProvider 刷新文本内容。
|
||
/// </summary>
|
||
public void Refresh()
|
||
{
|
||
if (_text == null) return;
|
||
if (_dataProvider == null)
|
||
{
|
||
_text.text = "";
|
||
return;
|
||
}
|
||
_text.text = _dataProvider.GetHintText();
|
||
}
|
||
}
|
||
}
|