RoomInfoOverlay

版本 v1.0.0·更新於 2026-03-03

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 外掛

  1. 本站下載的壓縮包就是模組本體,通常是 BepInEx 外掛(解壓後得到 .dll 或外掛資料夾)。
  2. 建議流程:用社群模組管理器(如 r2modman)選中本遊戲後匯入該模組,管理器會自動裝好 BepInEx 前置並處理依賴。
  3. 手動流程:先在遊戲目錄裝好 BepInEx 載入器,再把解壓出的 .dll 或外掛資料夾放進 BepInEx/plugins/。
  4. 啟動遊戲,BepInEx 控制台會列印載入日誌;確認這個模組出現在日誌裡即為安裝成功。

帶「前置依賴」的模組需要一併安裝,否則不會載入。功能開關通常在遊戲內或外掛自帶的設定檔裡調整。

前置依賴

下面這些內容需要先安裝,否則該模組不會生效:

BepInEx-BepInExPack

檔案與校驗

檔案名稱
RoomInfoOverlay-1.0.0.zip
檔案大小
128.3 KiB