Seaurchin Wiki

The Ground Slider Simulator

ユーザ用ツール

サイト用ツール


wiki:api:musiccursor

MusicCursor クラス(参照)

主に選曲画面で譜面の情報を参照するために使うクラスです。 CharacterManagerのように、相対インデックスによる取得をします。

メソッド

CursorState ReloadMusic(bool async = false)

susファイルをリロードし、楽曲情報一覧を更新します。若干時間のかかる処理なので気をつけてください。

引数無しまたは引数をfalseで呼び出した場合、同期読み込みになります。この場合、susファイルの読み込みに時間がかかった場合などは一時的にフリーズしてしまいますが、後続の処理で不整合が起きないため、その点で安全です。

引数をtrueで呼び出した場合、非同期読み込みになります。読み込みが完了するまでの間、GetStateメソッドはCursorState::Reloadingを返します。おおよそ次のように待機処理を書けば十分でしょう。

// MusicCursorの初期化
MusicCursor @cursor = MusicCursor();
cursor.ReloadMusic(true);
while(cursor.GetState() == CursorState::Reloading) YieldFrame(1);
curosor.ResetState();
 
// 以降MusicCursorが正しく使えます

CursorState ResetState()

カーソル状態をリセットします。 ReloadMusicを行っただけではリセットされないので注意してください

  • 返り値
    • カーソル操作の結果を表すCursorState
    • ReloadMusicの実行中の場合 : CursorState::Reloading
    • 関数の実行に成功 : CursorState::Success

CursorState Next()

カーソルを次に進めます。

  • 返り値
    • ReloadMusicの実行中の場合 : CursorState::Reloading
    • CursorState::Category : CursorState::Success
    • CursorState::Music : CursorState::Success
    • その他 : CursorState::OutOfFunction
    • 関数の実行に失敗 : CursorState::Error

CursorState Previous()

カーソルを前に戻します。

  • 返り値
    • Nextと同様

CursorState NextVariant()

カーソルを次のバリアント(同曲別難易度など)に移します。

  • 返り値
    • ReloadMusicの実行中の場合 : CursorState::Reloading
    • CursorState::Music : CursorState::Success
    • その他 : CursorState::OutOfFunction
    • 関数の実行に失敗 : CursorState::Error

CursorState PreviousVariant()

カーソルを前のバリアントに移します。

  • 返り値
    • NextVariantと同様

CursorState Enter()

「入ります」。カテゴリモードだった場合は曲選択に、曲選択モードだった場合はプレイ画面に移行します。 ただしプレイ画面への移行はスキンの責任で行ってください。 このメソッドではScenePlayerを起動した際に、現在このMusicCursorが選択中のsusを読み込むよう状態設定を行うのみです。

  • 状態遷移
    • CursorState::Category : CursorState::Music へ
    • CursorState::Music : CursorState::OutOfFunction へ
    • その他 : (状態変化なし)
  • 返り値
    • ReloadMusicの実行中の場合 : CursorState::Reloading
    • CursorState::Category : CursorState::Success
    • CursorState::Music : CursorState::Confirmed
    • その他 : CursorState::OutOfFunction
    • 関数の実行に失敗 : CursorState::Error

CursorState Exit()

「出ます」。カテゴリモードでは何も起きません。曲選択モードではカテゴリモードに戻ります。

  • 状態遷移
    • CursorState::Category : CursorState::OutOfFunction へ
    • CursorState::Music : CursorState::Category へ
    • その他 : (状態変化なし)
  • 返り値
    • ReloadMusicの実行中の場合 : CursorState::Reloading
    • CursorState::Category : CursorState::Success
    • CursorState::Music : CursorState::Success
    • その他 : CursorState::OutOfFunction
    • 関数の実行に失敗 : CursorState::Error

CursorState GetState()

現在のCursorStateを取得します。

string GetPrimaryString(int relativeIndex = 0)

現在選ばれている譜面もしくはカテゴリの、第一文字列(カテゴリ名か曲名)を取得します。 どちらが得られるかはその時の状態によります(後述)。

  • relativeIndex
    • 現在の項目からの相対的なインデックス
    • つまり、0を指定することで現在の項目を取得できます。

string GetCategoryName(int relativeIndex = 0)

現在選ばれているカテゴリ名を取得します。

string GetMusicName(int relativeIndex = 0)

現在選ばれている曲名を取得します。曲モードでない場合は知りません。

string GetArtistName(int relativeIndex = 0)

現在選ばれている曲のアーティスト名を取得します。曲モードでない場合は知りません。

string GetDesginerName(int relativeIndex = 0)

現在選ばれている譜面のデザイナー名を取得します。曲モードでない場合は知りません。

string GetMusicJacketFileName(int relativeIndex = 0)

現在選ばれている曲のジャケット画像のフルパスを取得します。曲モードでない場合は知りません。 空文字列が帰ってきてるときは設定されていません。

string GetBackgroundFileName(int relativeIndex = 0)

現在選ばれている曲の背景画像のフルパスを取得します。曲モードでない場合は知りません。

int GetDifficulty(int relativeIndex = 0)

現在選ばれている曲の難易度区分を取得します。曲モードでない場合は知りません。 返り値の数値はsusのDIFFICULTYと同じ区分になります。

int GetLevel(int relativeIndex = 0)

現在選ばれている曲のレベルを取得します。曲モードでない場合は知りません。

int GetBpm(int relativeIndex = 0)

現在選ばれている曲の(どれかの)BPMを取得します。曲モードでない場合は知りません。

string GetExtraLevel(int relativeIndex = 0)

現在選ばれている曲の拡張的レベルを取得します。曲モードでない場合は知りません。 この拡張的レベルですが、例えば“12+“の指定があった場合は”+“が入ります。 また、WEの文字難易度の場合はその文字がここに入ります。 それ以外の場合では空文字列が返ります。

wiki/api/musiccursor.txt · 最終更新: 2019/03/17 15:20 by amenoshita_429