40 lines
1.4 KiB
C#
40 lines
1.4 KiB
C#
using System.Collections.Generic;
|
||
|
||
namespace TJAPlayer3.C曲リストノードComparers
|
||
{
|
||
internal sealed class C曲リストノードComparer絶対パス : IComparer<C曲リストノード>
|
||
{
|
||
private readonly int _order;
|
||
|
||
public C曲リストノードComparer絶対パス(int order)
|
||
{
|
||
this._order = order;
|
||
}
|
||
|
||
public int Compare(C曲リストノード n1, C曲リストノード n2)
|
||
{
|
||
if( ( n1.eノード種別 == C曲リストノード.Eノード種別.BOX ) && ( n2.eノード種別 == C曲リストノード.Eノード種別.BOX ) )
|
||
{
|
||
return _order * n1.arスコア[ 0 ].ファイル情報.フォルダの絶対パス.CompareTo( n2.arスコア[ 0 ].ファイル情報.フォルダの絶対パス );
|
||
}
|
||
|
||
var str = strファイルの絶対パス(n1);
|
||
var strB = strファイルの絶対パス(n2);
|
||
|
||
return _order * str.CompareTo( strB );
|
||
}
|
||
|
||
private static string strファイルの絶対パス(C曲リストノード c曲リストノード)
|
||
{
|
||
for (int i = 0; i < (int)Difficulty.Total; i++)
|
||
{
|
||
if (c曲リストノード.arスコア[i] != null)
|
||
{
|
||
return c曲リストノード.arスコア[i].ファイル情報.ファイルの絶対パス ?? "";
|
||
}
|
||
}
|
||
|
||
return "";
|
||
}
|
||
}
|
||
} |