Files

📘 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 元素会正确释放
  • 🧠 内部管理已加载内容的内存占用