操作
機能 #437
完了選曲画面に最終プレー日時を表示(スキンプロパティ追加)
機能 #437:
選曲画面に最終プレー日時を表示(スキンプロパティ追加)
説明
背景¶
-
ScoreData.getDate()(epoch秒,ScoreData.java:140)に最終プレー/更新日時のデータは存在するが、選曲画面でこれを表示するスキンプロパティが無い。
方針¶
-
skin/property/StringPropertyTypes.javaに新StringType(未使用 id を採番。現状最大 ~1942)を追加。-
state instanceof MusicSelector selectorでselector.getSelectedBar().getScore()を取得し、getDate()をDateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm").withZone(ZoneId.systemDefault())で整形(雛形launcher/ResourceConfigurationView.java:46)。 -
score == null/date == 0は空文字を返す。 - 雛形は同ファイル 44-58行の selectedBar 参照パターン。
-
- (任意)リザルト画面でも出すなら
state.resource.getScoreData()分岐を同StringType内に追加。 - スキン側 json/lua/lr2 への配置は同梱スキン作者の領域。本チケットは「プロパティ提供」まで。
StringPropertyFactory.javaで id 参照が通るか確認。
検証¶
-
.\gradlew.bat clean build。日時フォーマットのユニットテスト追加(null/0 を含む)。 - 手動: 新
StringTypeを仮スキンまたは既存スキンの文字列要素 id に割当てて表示確認。未プレー曲は空表示。
留意¶
-
StringPropertyTypes.javaの既存 id を grep で確認してから採番(重複回避)。
操作