プロジェクト

全般

プロフィール

バグ #203

完了

デイリーチャレンジフォルダ以外でも難易度が表示される

バグ #203: デイリーチャレンジフォルダ以外でも難易度が表示される

いづ さん さんが22日前に追加. 21日前に更新.

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

100%

予定工数:

説明

バナーの下、難易度の上にある赤枠でかこった難易度はデイリーチャレンジフォルダ専用

チケット #144 で作りこんだバグ


ファイル

20260614_201228_Music_Select.png (3.53 MB) 20260614_201228_Music_Select.png いづ さん, 2026/06/14 20:35
20260614_201228_Music_Select.png

関連するチケット 1 (0件未完了1件完了)

関連している beatoraja - 機能 #144: デイリー課題フォルダ作成完了いづ さん2026/06/09

操作

いづ さん さんが22日前に更新 操作 #1

  • 関連している 機能 #144: デイリー課題フォルダ作成 を追加

いづ さん さんが22日前に更新 操作 #2

  • 対象バージョン1.0.2 にセット

エージェント ちゃん さんが21日前に更新 操作 #3

  • ステータス未着手 から 実装中 に変更
  • 進捗率0 から 10 に変更

作業開始

ステータスを「実装中」に変更し、実装を開始します。

原因

チケット #144 でデイリーチャレンジ用に難易度表名/レベルのスキンプロパティ(tablename/tablelevel/tablefull、ref:1001/1002/1003)が拡張され、default/select.jsontablelevel テキスト(ref:1002)が追加されました。

しかし StringPropertyTypesgetTableName / getTableLevel は、選曲画面でも選択中のバーが DailyChallengeSongBar でない場合に state.resource.getTablename() / getTablelevel() へフォールバックします。PlayerResource は直前にプレイした曲の難易度表情報を保持し続けるため、デイリーチャレンジ以外のフォルダでも前回プレイ曲の難易度が表示されてしまうのが原因です。

修正方針

選曲画面(state が MusicSelector)かつ選択中バーが DailyChallengeSongBar でない場合は空文字を返すようにし、難易度表名/レベルの表示をデイリーチャレンジフォルダ専用に限定します。プレイ/リザルト画面(非 MusicSelector)では従来どおり resource の値を使用します。

エージェント ちゃん さんが21日前に更新 操作 #4

実装完了

デイリーチャレンジフォルダ以外でも難易度(難易度表レベル)が表示されるバグを修正しました。

原因

#144 で拡張された tablename/tablelevel スキンプロパティ(StringPropertyTypes)は、選択中バーが DailyChallengeSongBar でない場合に PlayerResource の値へフォールバックしていました。選曲画面では PlayerResource が直前にプレイした曲の難易度表情報を保持し続けるため、すべてのフォルダで難易度が表示されていました。

修正内容

  • src/bms/player/beatoraja/skin/property/StringPropertyTypes.javagetTableName / getTableLevel を修正。
  • 選曲画面(state が MusicSelector)で選択中バーが DailyChallengeSongBar でない場合は空文字を返すようにし、難易度表名/レベル表示をデイリーチャレンジフォルダ専用に限定。
  • プレイ/リザルト画面(非 MusicSelector)では従来どおり resource の値を使用(#144 以前の振る舞いを維持)。getTableFullName は2ヘルパーから導出されるため変更不要。
  • スキン .json その他のファイルは未変更。

検証

  • xvfb-run -a ./gradlew test : 成功
  • ./gradlew compileJava : 成功

コミット / ブランチ

  • branch: feature/203(push 済)
  • commit: f064011e refs #203 Show difficulty table level only in Daily Challenge folder

マージリクエストはご指示をいただければ作成します。

エージェント ちゃん さんが21日前に更新 操作 #5

実機検証 OK / マージリクエスト作成

報告者による実機検証が OK となりました。マージリクエストを作成しました。

エージェント ちゃん さんが21日前に更新 操作 #6

  • ステータス実装中 から 完了 に変更
  • 進捗率10 から 100 に変更

マージ完了 / クローズ

MR !37 が develop にマージされました。ステータスを「完了」に変更します。

実装内容(確定)

  • 選曲画面でデイリーチャレンジフォルダ以外でも難易度表レベルが表示されるバグ(#144 のリグレッション)を修正。
  • StringPropertyTypesgetTableName / getTableLevel を修正し、選曲画面(MusicSelector)で選択中バーが DailyChallengeSongBar でない場合は空文字を返すようにし、難易度表名/レベル表示をデイリーチャレンジフォルダ専用に限定。
  • プレイ/リザルト画面では従来どおり resource の値を使用。

検証

  • xvfb-run -a ./gradlew test : 成功
  • 実機検証 : OK

マージ

  • MR !37 → develop(merge commit 71ce02ec

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