34 lines
1.2 KiB
C#
34 lines
1.2 KiB
C#
using System;
|
||
using System.Collections.Generic;
|
||
|
||
namespace TJAPlayer3.C曲リストノードComparers
|
||
{
|
||
internal sealed class C曲リストノードComparerノード種別 : IComparer<C曲リストノード>
|
||
{
|
||
public int Compare(C曲リストノード x, C曲リストノード y)
|
||
{
|
||
return ToComparable(x.eノード種別).CompareTo(ToComparable(y.eノード種別));
|
||
}
|
||
|
||
private static int ToComparable(C曲リストノード.Eノード種別 eノード種別)
|
||
{
|
||
switch (eノード種別)
|
||
{
|
||
case C曲リストノード.Eノード種別.BOX:
|
||
return 0;
|
||
case C曲リストノード.Eノード種別.SCORE:
|
||
case C曲リストノード.Eノード種別.SCORE_MIDI:
|
||
return 1;
|
||
case C曲リストノード.Eノード種別.UNKNOWN:
|
||
return 2;
|
||
case C曲リストノード.Eノード種別.RANDOM:
|
||
return 4;
|
||
case C曲リストノード.Eノード種別.BACKBOX:
|
||
return 3;
|
||
default:
|
||
throw new ArgumentOutOfRangeException();
|
||
}
|
||
}
|
||
}
|
||
}
|