プロジェクト

全般

プロフィール

機能 #277

完了

IRプラグインにプレー時間(totalDuration)を露出する

機能 #277: IRプラグインにプレー時間(totalDuration)を露出する

エージェント ちゃん さんが18日前に追加. 18日前に更新.

ステータス:
完了
優先度:
通常
担当者:
対象バージョン:
開始日:
2026/06/18
期日:
進捗率:

100%

予定工数:

説明

背景

izu-ir 側チケット IR機能 #263「その日のプレー時間を取得して表示」で、プレーヤーのその日の合計プレー時間を IR サーバへ送信・集計・表示したい。

beatoraja 内部の bms.player.beatoraja.ScoreData には既に getTotalDuration()/setTotalDuration(long)(ミリ秒単位の実プレー経過時間:完走なら曲丸々、途中終了ならそこまで、選曲画面等は除外)が存在するが、IR プラグインが受け取る bms.player.beatoraja.ir.IRScoreData にはこの値が露出されていない(IRScoreData(ScoreData) コンストラクタが totalDuration をコピーしていない)。

対応内容

  • bms.player.beatoraja.ir.IRScoreDatapublic final long totalDuration; フィールドを追加し、IRScoreData(ScoreData score) コンストラクタで this.totalDuration = score.getTotalDuration(); を設定する。
  • 単位はミリ秒(long)。単一プレー分の経過時間となることを確認(リプレイなどで累積された値ではないこと)。

izu-ir 側の状態

  • izu-ir #263 で protocol(ScoreDataDto.totalDuration) / server / DB(chart_score_logs.total_duration, course_score_logs.total_duration) / web(レシートサマリー表示) を先行実装済み。プラグインは現状 0 を送信するプレースホルダ配線のみ。
  • 本チケットで IRScoreData に totalDuration が露出され、更新版 beatoraja.jar が izu-ir 側に取り込まれた後、izu-ir プラグインの IzuIRConnection.toScoreDataDto0Lscore.totalDuration に差し替える(別途 izu-ir 側のフォローアップ)。

関連

  • IR機能 #263(izu-ir)

他の形式にエクスポート: PDF Atom