📘 MarkdownDisplayToolkit Md转换模块
核心功能:
- 🌐 支持从网络下载 Markdown 文本数据
- 🧱 自动按标题分割 Markdown 文本
- 🔄 将 Markdown 转换为 FairyGUI 支持的 UBB 富文本格式
- 🎨 支持标准富文本格式转换
- 🪄 直接在指定 FairyGUI 节点下创建并展示富文本内容
🚀 快速开始
1️⃣ 引用说明
本模块依赖通用模块中的单例基类,使用前需引入通用模块。
2️⃣ 基础使用流程
// 1. 加载 Markdown 内容(尽可能早的拉取)
MarkdownKit.Instance.LoadText("privacy", "https://www.moggyfuzz.com/privacy.md");
MarkdownKit.Instance.LoadText("user", "https://www.moggyfuzz.com/user.md");
// 2. 在 FairyGUI 上展示内容
var color = new Color(159 / 255f, 120 / 255f, 102 / 255f, 1f);
MarkdownKit.Instance.ShowAsRichText(oneFGUIComponent, BisTerm ? "user" : "privacy", color, (success, state) => {
if (success) {
Debug.Log("✅ 内容加载成功!当前状态:" + state);
}
else {
Debug.LogError("❌ 内容加载失败!当前状态:" + state);
}
}, 44);
🛠️ 详细功能说明
📥 加载功能
- 使用
LoadText(string key, string url, int textSize = 40)进行加载 - 自动下载,状态可查询(见下方 API)
📤 内容展示
参数说明:
| 参数名 | 说明 |
|---|---|
parent |
父节点容器(FairyGUI) |
key |
唯一键名,与 LoadText 保持一致 |
color |
文本颜色 |
callback |
状态回调 (bool success, MarkdownTextState state) |
textSize |
(可选)自定义字体大小(默认 40) |
回调状态说明:
| 状态 | 说明 |
|---|---|
Complete |
✅ 内容已加载并展示完成 |
Downloading |
🔄 正在下载中 |
Exception |
⚠️ 下载失败,将自动重试一次 |
📚 API 参考
📑 获取富文本内容
List<string> GetText(string key, Action<bool, List<string>> onComplete, int textSize = 40)
🧐 查询当前状态
MarkdownTextState GetState(string key)
📦 获取完整数据
MarkdownData GetData(string key)
返回字段说明:
- 📎 URL 地址
- 🔁 当前状态
- 📄 原始 Markdown 文本
- ✂️ 分割后的段落列表
- 🎨 转换后的富文本列表
- 🖋️ 文字大小等配置信息
💡 最佳实践
✅ 1. 容器选择
- 推荐使用可滚动的 FairyGUI 容器
- 确保容器有足够的展示空间
⚠️ 2. 错误处理建议
MarkdownKit.Instance.ShowAsRichText(
parent,
"tutorial",
Color.black,
(success, state) => {
if (!success && state == MarkdownTextState.Exception) {
// 显示重试按钮或错误提示
}
}
);
🧑🎨 3. 样式定制
MarkdownKit.Instance.ShowAsRichText(
scrollPane,
"tutorial",
new Color(0.1f, 0.1f, 0.1f), // 深灰色文字
null,
36 // 更小的文字
);
📌 注意事项
- ⏱ 网络错误会自动重试一次
- 🧹 所有 FairyGUI 元素会正确释放
- 🧠 内部管理已加载内容的内存占用