MoreUIPanel
王子晨的交流QQ 羣:824639225,輕量右下角信息面板,提供 API 讓其他模組註冊自定義顯示行。A lightweight bottom-right HUD panel with a public API for other mods to register custom display lines.
模組介紹 作者原文
markdown
MoreUIPanel
輕量右下角信息面板,提供 API 讓其他模組註冊自定義顯示行。
版本:0.1.0
致謝
本模組核心 UI 框架抽離自 王子晨 (WZC_UI) 的 MoreUI 源碼,已獲得原作者同意。
概述
MoreUIPanel 是一個獨立的 HUD 面板模組,從 MoreUI 源碼中抽離出右下角文字顯示框架,做成一個空的面板容器。它本身不顯示任何遊戲數據,只提供公開 API,讓其他模組調用 RegisterLine 註冊自定義信息行,統一刷新與渲染。適合搭配各類輕量功能模組使用,避免每個模組各自繪製 OnGUI。
說明
- 定位:這是一個庫模組,作爲其他模組的依賴使用,普通玩家無需手動安裝。
✨ 功能
- 統一左下角文字面板,支持多模組註冊信息行
- 可配置字體大小、位置偏移、透明度、刷新間隔
- 輕量、純 OnGUI,無額外建模和網絡
安裝
- 確保已安裝 BepInExPack
- 將 MoreUIPanel.dll 放入 BepInEx/plugins 文件夾
- 啓動遊戲,模組會自動生成配置文件
⚙️ 配置
配置文件位置:BepInEx/config/cn_xc.MoreUIPanel.cfg
| 配置項 | 默認值 | 說明 |
|---|---|---|
| Enabled | true | 是否啓用面板 |
| FontSize | 20 | 字體大小(10-28) |
| OffsetX | 0 | 水平偏移(負值左移,正值右移) |
| OffsetY | 0 | 垂直偏移(負值下移,正值上移) |
| OpacityPercent | 70 | 文字透明度百分比(1-100) |
| RefreshIntervalSeconds | 1.5 | 刷新間隔(秒,最低 0.1) |
🔌 開發者 API
詳細用法請參閱隨附的 API_REFERENCE.md。
❓ 常見問題
Q:爲什麼看不見面板?
A:檢查是否有模組註冊了顯示行,並且 Enabled 爲 true。如果沒有註冊任何行,面板會自動隱藏。
Q:如何調整位置?
A:修改 OffsetX 和 OffsetY 配置項即可,正值向上/左移動,負值向下/右移動。
Q:支持富文本嗎?
A:支持 Unity 富文本標籤,例如 紅色。
API_REFERENCE.md
markdown
MoreUIPanel API 參考
註冊顯示行
MoreUIPanel.Plugin.RegisterLine(string key, Func textProvider)
參數
key:全局唯一標識,用於註銷。建議使用模組名前綴,如 "mymod_stats"。
textProvider:無參數、返回 string 的委託。在刷新間隔觸發時調用,返回的字符串將被顯示。可包含 \n 表示多行。返回 null 或空白則跳過該行。
註銷顯示行
csharp
MoreUIPanel.Plugin.UnregisterLine(string key)
移除之前註冊的 key。建議在模組的 OnDestroy 中調用。
控制面板可見性
csharp
MoreUIPanel.Plugin.Visible = false; // 強制隱藏
靜態屬性,設爲 false 立即隱藏面板(即使有註冊行)。設爲 true 恢復。
完整示例
csharp
using BepInEx;
using MoreUIPanel;
[BepInDependency("cn_xc.MoreUIPanel")]
public class MyPlugin: BaseUnityPlugin
{
void Awake()
{
Plugin.RegisterLine("mymod_stats", () =>
{
return $"跳躍 Lv.{JumpLevel} ({JumpCount}/100)\n" +
$"力量 Lv.{StrengthLevel} ({GrabCount}/50)";
});
}
void OnDestroy()
{
Plugin.UnregisterLine("mymod_stats");
}
}
注意事項
委託應避免耗時操作,因爲它在刷新線程(Update)中同步調用。
如果多個模組使用相同的 key,後註冊的會覆蓋前者。
面板默認左下角對齊,可通過 MoreUIPanel 的配置文件調整偏移和大小。
安裝與使用 安裝:BepInEx 外掛
- 本站下載的壓縮包就是模組本體,通常是 BepInEx 外掛(解壓後得到 .dll 或外掛資料夾)。
- 建議流程:用社群模組管理器(如 r2modman)選中本遊戲後匯入該模組,管理器會自動裝好 BepInEx 前置並處理依賴。
- 手動流程:先在遊戲目錄裝好 BepInEx 載入器,再把解壓出的 .dll 或外掛資料夾放進 BepInEx/plugins/。
- 啟動遊戲,BepInEx 控制台會列印載入日誌;確認這個模組出現在日誌裡即為安裝成功。
帶「前置依賴」的模組需要一併安裝,否則不會載入。功能開關通常在遊戲內或外掛自帶的設定檔裡調整。
下面這些內容需要先安裝,否則該模組不會生效: