32 lines
992 B
C#
32 lines
992 B
C#
|
using System.Collections.Generic;
|
|||
|
|
|||
|
namespace TJAPlayer3.C曲リストノードComparers
|
|||
|
{
|
|||
|
internal sealed class C曲リストノードComparerLevel : IComparer<C曲リストノード>
|
|||
|
{
|
|||
|
private readonly int _order;
|
|||
|
|
|||
|
public C曲リストノードComparerLevel(int order)
|
|||
|
{
|
|||
|
this._order = order;
|
|||
|
}
|
|||
|
|
|||
|
public int Compare(C曲リストノード n1, C曲リストノード n2)
|
|||
|
{
|
|||
|
int _n1s = (n1.eノード種別 != C曲リストノード.Eノード種別.SCORE) ? 0 : 1;
|
|||
|
int _n2s = (n2.eノード種別 != C曲リストノード.Eノード種別.SCORE) ? 0 : 1;
|
|||
|
|
|||
|
|
|||
|
if (_n1s == 0 || _n2s == 0)
|
|||
|
{
|
|||
|
return 0;
|
|||
|
}
|
|||
|
return _order * _diffOf(n1).CompareTo(_diffOf(n2));
|
|||
|
}
|
|||
|
|
|||
|
private int _diffOf(C曲リストノード n1)
|
|||
|
{
|
|||
|
return n1.nLevel[TJAPlayer3.stage選曲.act曲リスト.tFetchDifficulty(n1)];
|
|||
|
}
|
|||
|
}
|
|||
|
}
|