UnityEngine.UI.Text で任意の部分文字列をクリック可能にするコンポーネントです。English (by Google Translate)
publicclassRegexExample:MonoBehaviour{[SerializeField]RegexHypertexttext=default;conststringRegexUrl=@"https?://(?:[!-~]+\.)+[!-~]+";conststringRegexHashtag=@"[\s^][##]\w+";voidStart(){text.OnClick(RegexUrl,Color.cyan, url =>Debug.Log(url));text.OnClick(RegexHashtag,Color.green, hashtag =>Debug.Log(hashtag));}}Releases から Hypertext.unitypackage をダウンロードして Unity Project にインポートします。
Hypertext/Examples に正規表現によるパターンマッチで任意の部分文字列をクリック可能にする実装例があるので参考にしてください。
HypertextBase を継承したクラスを作成し、OnClick メソッドを使って任意の部分文字列がクリックされた時のコールバックを登録できます。詳細はサンプルの RegexHypertext を参考にしてください。
/// <summary>/// 指定した部分文字列にクリックイベントを登録します/// </summary>/// <param name="startIndex">部分文字列の開始文字位置</param>/// <param name="length">部分文字列の長さ</param>/// <param name="color">部分文字列につける色</param>/// <param name="onClick">部分文字列がクリックされたときのコールバック</param>protectedvoidOnClick(intstartIndex,intlength,Colorcolor,Action<string>onClick)Unity 2019.2.10f1
