This commit is contained in:
2025-06-27 18:07:24 +08:00
parent 9a88eefe06
commit 8dbabbbd89
3 changed files with 31 additions and 5 deletions
+1 -1
View File
@@ -238,7 +238,7 @@ namespace Deconstruction.UI.TmpText
// 尝试获取TMP_Text组件
var tmp = child.GetComponent(tmpTextType) as TMP_Text;
if (tmp != null && tmp.text.MatchRichTextID())
if (tmp != null && tmp.text.MatchRichTextLinkID())
{
result.Add(child.gameObject.AddComponent<TMPHyperlinkReceiver>());
}
@@ -1,4 +1,5 @@
using System;
using System.Collections.Generic;
using Sirenix.OdinInspector;
using TMPro;
using UnityEngine;
@@ -27,6 +28,35 @@ namespace Deconstruction.UI.TmpText
#endif
[SerializeField]
public UnityEvent<string> onClickLink = new UnityEvent<string>();
/// <summary>
/// 获取所有超链接id
/// </summary>
public IEnumerable<string> AllLinkID
{
get
{
if (_tmpText == null || string.IsNullOrEmpty(_tmpText.text))
yield break;
foreach (var link in _tmpText.text.MatchesRichTextLinkID())
yield return link.id;
}
}
/// <summary>
/// 获取所有超链接
/// </summary>
public IEnumerable<(string id, string block)> AllLinkIDWithContext
{
get
{
if (_tmpText == null || string.IsNullOrEmpty(_tmpText.text))
yield break;
foreach (var link in _tmpText.text.MatchesRichTextLinkID())
yield return link;
}
}
private void Awake()
{