RoomInfoOverlay
Debug overlay that displays room/module/player/inventory/economy/director/shop/extraction/photon/environment/map/details/internal values on screen.検証用オーバーレイとして部屋/モジュール/プレイヤー/インベントリ/経済/ディレクター/ショップ/納品/P
模組介紹 作者原文
RoomInfoOverlay
A debug overlay that prints many internal runtime values on screen for troubleshooting and reverse-engineering.
Features
- On-screen overlay with anchor, padding, font, colors, and background alpha
- Section-based output with per-section enable toggles
- Performance-focused update model:
- Disabled sections are not fetched
- Enabled sections are refreshed sequentially (round-robin) to spread load
- Cached section text is concatenated into a snapshot for drawing
- Supported sections (configurable)
- Module, Room, Player, Inventory, Economy/Run, GameDirector, ShopManager, Extraction/Cart, Photon, Environment, Map, Details, Debug
- DeepDump: Player, Inventory, GameDirector, ShopManager, ExtractionCart, Photon, Economy
- DeepScan: Economy keyword scan
How it works
- Uses Unity OnGUI for rendering
- Builds GUIStyle inside OnGUI and reuses it via a computed style key
- Measures text with CalcSize per line and caches panel size by a measurement key
- Uses reflection for internal/private fields
- Caches FieldInfo for frequently accessed internal fields (Module, RoomVolumeCheck, PlayerAvatar, PlayerHealth, RunManager)
- Finds singleton-like objects by type name and common static member names (instance/Instance/Singleton/etc.)
- Implements sequential refresh
- Maintains an active section order based on config hash
- Updates only N sections per tick (SectionsPerTick), round-robin
- Stores each section output in a dictionary cache and rebuilds snapshot text from the cache
- DeepDump / keyword scan
- DeepDump traverses object graphs with recursion depth, member count limits, and optional private/field/property inclusion
- Keyword scan performs a breadth-first traversal and prints matching member names/values
Configuration
All settings are in BepInEx config.
A General
- EnableMod
- UpdateIntervalSeconds
- ShowSectionHeaders
- SectionsPerTick
B Appearance
- Anchor (TopLeft/TopRight/BottomLeft/BottomRight/Center/CenterTop)
- OffsetX / OffsetY
- FontSize / LineSpacing
- PaddingX / PaddingY
- TextColorR/G/B/A
- BackgroundColorR/G/B
- BackgroundAlpha
B2 Deep
- MaxListEntries
- SortDictionaries
C Contents
- Per-section toggles for each displayed line group
- DeepDump toggles for each DeepDump section
- Economy scan/deep-dump toggles
D DeepDump
- MaxDepth
- MaxMembersPerObject
- IncludePrivate
- IncludeFields
- IncludeProperties
- MaxStringLength
- EconomyKeywords
- EconomyMaxTypes
Notes / Caveats
- Intended for debugging. Enabling many sections, especially DeepDump/Scan, can be expensive
- Some values may show as "Unknown" when fields/properties are unavailable in a specific game version
- Photon info is obtained via reflection (Photon.Pun.PhotonNetwork) and may be unavailable if assemblies/types differ
RoomInfoOverlay
內部値の調査やデバッグ向けに、ゲーム実行中の各種情報を畫面上に表示するオーバーレイです。
機能
- 表示位置、餘白、フォント、色、背景透明度などを設定可能
- セクション単位で表示項目をON/OFF可能
- 軽量化のための更新方式
- OFFのセクションは取得処理を行わない
- ONのセクションをラウンドロビンで順次更新して負荷を分散
- 各セクションの文字列をキャッシュし、描畫時は結合だけで表示
- 対応セクション(設定で切替)
- Module, Room, Player, Inventory, Economy/Run, GameDirector, ShopManager, Extraction/Cart, Photon, Environment, Map, Details, Debug
- DeepDump: Player, Inventory, GameDirector, ShopManager, ExtractionCart, Photon, Economy
- DeepScan: Economy キーワードスキャン
実裝概要
- 描畫は Unity の OnGUI
- GUIStyle は OnGUI 內で生成し、キー計算で再利用
- 行ごとに CalcSize してパネルサイズを算出し、キーでキャッシュ
- 內部値はリフレクションで取得
- 頻出フィールドは FieldInfo をキャッシュ(Module/RoomVolumeCheck/PlayerAvatar/PlayerHealth/RunManager)
- 型名でシングルトンを探索し instance/Instance/Singleton などの靜的メンバーを參照
- 順次更新
- 設定の有効狀態からアクティブセクション順を構築
- 1tickあたり N セクションだけ更新(SectionsPerTick)
- セクションごとの結果は辭書キャッシュし、スナップショット文字列を再生成
- DeepDump / キーワードスキャン
- DeepDump は再帰深度、メンバー數、private/field/property などを制御してオブジェクトを辿る
- キーワードスキャンはBFSで探索して一致したメンバー名/値を出力
設定
BepInEx の設定ファイルで変更します。
A General
- EnableMod
- UpdateIntervalSeconds
- ShowSectionHeaders
- SectionsPerTick
B Appearance
- Anchor(TopLeft/TopRight/BottomLeft/BottomRight/Center/CenterTop)
- OffsetX / OffsetY
- FontSize / LineSpacing
- Pa
安裝與使用 安裝:BepInEx 外掛
- 本站下載的壓縮包就是模組本體,通常是 BepInEx 外掛(解壓後得到 .dll 或外掛資料夾)。
- 建議流程:用社群模組管理器(如 r2modman)選中本遊戲後匯入該模組,管理器會自動裝好 BepInEx 前置並處理依賴。
- 手動流程:先在遊戲目錄裝好 BepInEx 載入器,再把解壓出的 .dll 或外掛資料夾放進 BepInEx/plugins/。
- 啟動遊戲,BepInEx 控制台會列印載入日誌;確認這個模組出現在日誌裡即為安裝成功。
帶「前置依賴」的模組需要一併安裝,否則不會載入。功能開關通常在遊戲內或外掛自帶的設定檔裡調整。
前置依賴
下面這些內容需要先安裝,否則該模組不會生效:
BepInEx-BepInExPack