private void tSelectSong() // t曲を選択する { this.rConfirmedSong = this.actSongList.rSelectedSong; this.rChosenScore = this.actSongList.rSelectedScore; this.nConfirmedSongDifficulty = this.actSongList.n現在選択中の曲の現在の難易度レベル; if ((this.rConfirmedSong != null) && (this.rChosenScore != null)) { this.eReturnValueWhenFadeOutCompleted = EReturnValue.Selected; // this.actFOtoNowLoading.tStartFadeOut(); // #27787 2012.3.10 yyagi 曲決定時の画面フェードアウトの省略 base.ePhaseID = CStage.EPhase.選曲_NowLoading画面へのフェードアウト; } CDTXMania.Skin.bgm選曲画面.t停止する(); }
private void tSelectSongRandomly() { CSongListNode song = this.actSongList.rSelectedSong; if ((song.stackRandomPerformanceNumber.Count == 0) || (song.listランダム用ノードリスト == null)) { if (song.listランダム用ノードリスト == null) { song.listランダム用ノードリスト = this.t指定された曲が存在する場所の曲を列挙する_子リスト含む(song); } int count = song.listランダム用ノードリスト.Count; if (count == 0) { return; } int[] numArray = new int[count]; for (int i = 0; i < count; i++) { numArray[i] = i; } for (int j = 0; j < (count * 1.5); j++) { int index = CDTXMania.Random.Next(count); int num5 = CDTXMania.Random.Next(count); int num6 = numArray[num5]; numArray[num5] = numArray[index]; numArray[index] = num6; } for (int k = 0; k < count; k++) { song.stackRandomPerformanceNumber.Push(numArray[k]); } if (CDTXMania.ConfigIni.bLogDTX詳細ログ出力) { StringBuilder builder = new StringBuilder(0x400); builder.Append(string.Format("ランダムインデックスリストを作成しました: {0}曲: ", song.stackRandomPerformanceNumber.Count)); for (int m = 0; m < count; m++) { builder.Append(string.Format("{0} ", numArray[m])); } Trace.TraceInformation(builder.ToString()); } } this.rConfirmedSong = song.listランダム用ノードリスト[song.stackRandomPerformanceNumber.Pop()]; this.nConfirmedSongDifficulty = this.actSongList.n現在のアンカ難易度レベルに最も近い難易度レベルを返す(this.rConfirmedSong); this.rChosenScore = this.rConfirmedSong.arScore[this.nConfirmedSongDifficulty]; this.eReturnValueWhenFadeOutCompleted = EReturnValue.Selected; // this.actFOtoNowLoading.tStartFadeOut(); // #27787 2012.3.10 yyagi 曲決定時の画面フェードアウトの省略 base.ePhaseID = CStage.EPhase.選曲_NowLoading画面へのフェードアウト; if (CDTXMania.ConfigIni.bLogDTX詳細ログ出力) { int[] numArray2 = song.stackRandomPerformanceNumber.ToArray(); StringBuilder builder2 = new StringBuilder(0x400); builder2.Append("ランダムインデックスリスト残り: "); if (numArray2.Length > 0) { for (int n = 0; n < numArray2.Length; n++) { builder2.Append(string.Format("{0} ", numArray2[n])); } } else { builder2.Append("(なし)"); } Trace.TraceInformation(builder2.ToString()); } CDTXMania.Skin.bgm選曲画面.t停止する(); }