1
0
mirror of synced 2025-02-21 04:47:15 +01:00

ソートを変更すると閉じるが移動する問題の修正 (#385)

This commit is contained in:
Takkkom 2023-02-17 12:32:29 +09:00 committed by GitHub
parent 07482f377b
commit 50c614125e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 56 additions and 4 deletions

View File

@ -145,7 +145,7 @@ namespace TJAPlayer3
public static List<C曲リストード> tReinsertBackButtons(C曲リストード parent, List<C曲リストード> songList, string path = "/", List<string> listStrBoxDef = null)
{
// Remove all the existing back boxes currently existing
songList.RemoveAll(e => e.eード種別 == C曲リストード.Eード種別.BACKBOX);
songList.RemoveAll(e => e.eード種別 == C曲リストード.Eード種別.BACKBOX || e.eード種別 == C曲リストード.Eード種別.RANDOM);
int songCount = songList.Count;

View File

@ -1899,7 +1899,11 @@ Debug.WriteLine( dBPM + ":" + c曲リストード.strタイトル );
#region [ private ]
//-----------------
//private const string SONGSDB_VERSION = "SongsDB5";
private List<string> listStrBoxDefSkinSubfolderFullName;
public List<string> listStrBoxDefSkinSubfolderFullName
{
get;
private set;
}
/// <summary>
/// 検索を中断_スローダウンする

View File

@ -246,9 +246,25 @@ namespace TJAPlayer3
else
{
// CDTXMania.Songs管理.t曲リストのソート3_演奏回数の多い順( songList, eInst, order );
sf( songList, eInst, order, p );
// this.r現在選択中の曲 = CDTXMania
sf( songList, eInst, order, p );
// this.r現在選択中の曲 = CDTXMania
void addBackBox(List<C曲リストード> list, string parentName = "/")
{
foreach (C曲リストード node in list)
{
if (node.eード種別 != C曲リストード.Eード種別.BOX) continue;
string newPath = parentName + node.strタイトル + "/";
CSongDict.tReinsertBackButtons(node, node.list子リスト, newPath, TJAPlayer3.Songs管理.listStrBoxDefSkinSubfolderFullName);
addBackBox(node.list子リスト, newPath);
}
}
addBackBox(TJAPlayer3.Songs管理.list曲ルート);
this.t現在選択中の曲を元に曲バーを再構成する();
tChangeSong(0);
this.t選択曲が変更された(false);
tUpdateCurSong();
TJAPlayer3.stage選曲.t選択曲変更通知();
}
}
@ -404,6 +420,38 @@ namespace TJAPlayer3
}
this.b選択曲が変更された = true;
}
public void tUpdateCurSong()
{
if ((this.rGetSideSong(0).eード種別 == C曲リストード.Eード種別.SCORE) || this.rGetSideSong(0).eード種別 == C曲リストード.Eード種別.BACKBOX)
{
TJAPlayer3.stage選曲.bBGMIn再生した = false;
CSongSelectSongManager.disable();
}
else
{
CSongSelectSongManager.enable();
CSongSelectSongManager.playSongIfPossible();
}
TJAPlayer3.stage選曲.ctBackgroundFade.t開始(0, 600, 1, TJAPlayer3.Timer);
if (this.ctBarOpen.n現在の値 >= 200 || TJAPlayer3.stage選曲.ctBackgroundFade.n現在の値 >= 600 - 255)
{
TJAPlayer3.stage選曲.OldGenre = this.r現在選択中の曲.strジャンル;
TJAPlayer3.stage選曲.OldUseGenre = !this.r現在選択中の曲.isChangedBgType;
TJAPlayer3.stage選曲.OldBg = this.r現在選択中の曲.BgType;
TJAPlayer3.stage選曲.OldBgColor = this.r現在選択中の曲.BgColor;
}
if (this.r現在選択中の曲 != null)
{
ctScoreFrameAnime.t停止();
ctScoreFrameAnime.n現在の値 = 0;
ctBarOpen.t停止();
ctBarOpen.n現在の値 = 0;
}
this.b選択曲が変更された = true;
}
public void t難易度レベルをひとつ進める()
{
if( ( this.r現在選択中の曲 == null ) || ( this.r現在選択中の曲.nスコア数 <= 1 ) )