R.E.P.O.
You are viewing a potentially older version of this package. View Latest Version
Install

Details

Date Uploaded
5 days ago
Downloads
654
Size
31KB
Dependency string
HarukazeLab-REPOSimpleTimer-1.0.0

REPO Simple Timer

R.E.P.O. のHUDに「レベル開始からの経過時間」を表示するBepInExプラグインです。

  • ローディングが明けてプレイヤーが操作可能になった瞬間(GameDirectorMain ステートに入った瞬間)に 00:00 から計測を開始します。
  • 脱出(アウトロ)に入った時点で計測を停止し、次のレベルに入ると自動的にリセットされます。
  • メインメニュー / ロビーメニュー、HUD非表示中、死亡演出中は表示されません。

動作環境

ゲーム R.E.P.O.(Steam AppID 3241660)
ローダー BepInEx 5.4.x
ビルド .NET SDK(netstandard2.1 ターゲット)

Harmonyパッチは使用していません。GameDirector のインスタンスIDの変化でレベル切り替えを検出し、HUDキャンバス(HUDCanvas.instance)配下に TextMeshProUGUI を1つ生やしているだけなので、他MODと衝突しにくい構成です。フォントとマテリアルはHUD内の既存テキストから複製するため、ゲーム本来のピクセルフォントで表示されます。

ビルド

dotnet build -c Release

出力: bin\Release\REPOSimpleTimer.dll

ゲームやBepInExの場所が違う場合はプロパティで上書きします。

dotnet build -c Release -p:RepoDir="X:\path\to\REPO" -p:BepInExDir="Y:\path\to\BepInEx"

ビルドと同時にプラグインフォルダへコピーしたい場合:

dotnet build -c Release -p:DeployToProfile=true

手動インストール

REPOSimpleTimer.dll を BepInEx の plugins フォルダに置くだけです。

BepInEx\plugins\REPOSimpleTimer\REPOSimpleTimer.dll

Thunderstore Mod Manager / r2modman を使っている場合は、プロファイルフォルダ配下の BepInEx\plugins が対象です。

設定

一度ゲームを起動すると BepInEx\config\huwasakura.REPOSimpleTimer.cfg が生成されます。REPOConfig を入れていればゲーム内メニューからも変更できます。

1. General

キー 既定値 説明
Enabled true タイマー表示のON/OFF
ShowOutsideLevels false トラック・ショップ・チュートリアルでも表示する
ToggleKey F8 ゲーム中に表示を切り替えるキー(非表示中も計測は継続)

2. Text

キー 既定値 説明
Format MinutesSeconds MinutesSeconds(12:34) / MinutesSecondsCentis(12:34.56) / HoursMinutesSeconds(01:12:34)
Prefix "" 時刻の前に付ける文字列(例: TIME

3. Layout

キー 既定値 説明
Anchor TopCenter 画面のどの端に固定するか(8方向)
OffsetX 0 アンカーからの横方向オフセット(+で右)
OffsetY -30 アンカーからの縦方向オフセット(+で上)
FontSize 24 フォントサイズ
Color #FFFFFF HTMLカラー文字列(#RRGGBB / #RRGGBBAA

設定変更は即座に反映されます(ゲーム再起動不要)。

ソース構成

ファイル 役割
src/Plugin.cs BepInExエントリポイント。設定の初期化と LevelTimer の生成
src/LevelTimer.cs 計測とHUDラベルの生成・更新
src/TimerSettings.cs 設定項目の定義
src/PluginInfo.cs GUID / 名前 / バージョン
Thunderstore development is made possible with ads. Please consider making an exception to your adblock.