Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/setchi/ugui-hypertext
Hypertext for uGUI
https://github.com/setchi/ugui-hypertext
csharp hypertext ugui unity unity3d
Last synced: 2 months ago
JSON representation
Hypertext for uGUI
- Host: GitHub
- URL: https://github.com/setchi/ugui-hypertext
- Owner: setchi
- License: mit
- Created: 2016-07-31T13:18:23.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2019-11-29T14:10:10.000Z (about 5 years ago)
- Last Synced: 2024-10-11T09:54:46.207Z (3 months ago)
- Topics: csharp, hypertext, ugui, unity, unity3d
- Language: C#
- Homepage: http://setchi.hatenablog.com/entry/2016/07/31/234204
- Size: 96.7 KB
- Stars: 151
- Watchers: 12
- Forks: 35
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# uGUI-Hypertext [![license](https://img.shields.io/badge/license-MIT-green.svg?style=flat-square)](https://github.com/setchi/uGUI-Hypertext/blob/master/LICENSE) [![Release](https://img.shields.io/github/release/setchi/uGUI-Hypertext.svg?style=flat-square&logo=github)](https://github.com/setchi/uGUI-Hypertext/releases/latest)
`UnityEngine.UI.Text` で任意の部分文字列をクリック可能にするコンポーネントです。[English](https://translate.google.com/translate?sl=ja&tl=en&u=https://github.com/setchi/uGUI-Hypertext) (by Google Translate)
![screencast](screencast.gif)
```csharp
public class RegexExample : MonoBehaviour
{
[SerializeField] RegexHypertext text = default;const string RegexUrl = @"https?://(?:[!-~]+\.)+[!-~]+";
const string RegexHashtag = @"[\s^][##]\w+";void Start()
{
text.OnClick(RegexUrl, Color.cyan, url => Debug.Log(url));
text.OnClick(RegexHashtag, Color.green, hashtag => Debug.Log(hashtag));
}
}
```## 導入
[Releases](https://github.com/setchi/uGUI-Hypertext/releases/latest) から `Hypertext.unitypackage` をダウンロードして Unity Project にインポートします。## サンプル
[Hypertext/Examples](Assets/Hypertext/Examples/) に正規表現によるパターンマッチで任意の部分文字列をクリック可能にする実装例があるので参考にしてください。## 使い方
[HypertextBase](Assets/Hypertext/Scripts/HypertextBase.cs) を継承したクラスを作成し、`OnClick` メソッドを使って任意の部分文字列がクリックされた時のコールバックを登録できます。詳細はサンプルの [RegexHypertext](Assets/Hypertext/Examples/RegexHypertext.cs) を参考にしてください。```csharp
///
/// 指定した部分文字列にクリックイベントを登録します
///
/// 部分文字列の開始文字位置
/// 部分文字列の長さ
/// 部分文字列につける色
/// 部分文字列がクリックされたときのコールバック
protected void OnClick(int startIndex, int length, Color color, Action onClick)
```## 開発環境
Unity 2019.2.10f1## Author
[setchi](https://github.com/setchi)## License
[MIT](https://github.com/setchi/uGUI-Hypertext/blob/master/LICENSE)