118 lines
3.1 KiB
C#
Executable File
118 lines
3.1 KiB
C#
Executable File
namespace LiveSplit.TZA.Splits;
|
|
|
|
internal class SplitInfo {
|
|
internal uint Id { get; }
|
|
internal string Name { get; }
|
|
internal ISplit[] Splits { get; }
|
|
|
|
internal SplitInfo(SplitId id, params ISplit[] splits) {
|
|
this.Id = (uint) id;
|
|
this.Name = id.Name();
|
|
this.Splits = splits;
|
|
}
|
|
}
|
|
|
|
// NOTE: reordering is a breaking change
|
|
internal enum SplitId {
|
|
StartGame = 1,
|
|
Reks,
|
|
Rats,
|
|
RogueTomato,
|
|
Dustia,
|
|
Firemane,
|
|
MimicQueen,
|
|
JudgeGhis,
|
|
Garuda,
|
|
Belias,
|
|
Jellies,
|
|
Tiamat,
|
|
EnterStilshrine,
|
|
Vinuskar,
|
|
Mateus,
|
|
JudgeBergan,
|
|
Mandragoras,
|
|
Ahriman,
|
|
Cid1,
|
|
Rafflesia,
|
|
Daedalus,
|
|
Tyrant,
|
|
Shemhazai,
|
|
Hydro,
|
|
Pandaemonium,
|
|
Slyt,
|
|
Fenrir,
|
|
Hashmal,
|
|
Cid2,
|
|
Gabranth,
|
|
TheUndying,
|
|
|
|
// added later
|
|
Judges,
|
|
DemonWall2,
|
|
Vossler,
|
|
Flans,
|
|
Sunstone,
|
|
AirCutterRemora,
|
|
Vayne,
|
|
VayneNovus,
|
|
LhusuMines,
|
|
LeaveEruytVillage,
|
|
OsmonePlain,
|
|
Salikawood,
|
|
PhonCoastTchitaUplands,
|
|
Archades,
|
|
EnterEruytVillage,
|
|
}
|
|
|
|
internal static class SplitIdExt {
|
|
internal static string Name(this SplitId id) => id switch {
|
|
SplitId.StartGame => "Start Game",
|
|
SplitId.Reks => "Reks",
|
|
SplitId.Rats => "Rats",
|
|
SplitId.RogueTomato => "Rogue Tomato",
|
|
SplitId.Dustia => "Dustia",
|
|
SplitId.Firemane => "Firemane",
|
|
SplitId.MimicQueen => "Mimic Queen",
|
|
SplitId.JudgeGhis => "Judge Ghis",
|
|
SplitId.Garuda => "Garuda",
|
|
SplitId.Belias => "Belias",
|
|
SplitId.Jellies => "Jellies",
|
|
SplitId.Tiamat => "Tiamat",
|
|
SplitId.EnterStilshrine => "Enter Stilshrine",
|
|
SplitId.Vinuskar => "Vinuskar",
|
|
SplitId.Mateus => "Mateus",
|
|
SplitId.JudgeBergan => "Judge Bergan",
|
|
SplitId.Mandragoras => "Mandragoras",
|
|
SplitId.Ahriman => "Ahriman",
|
|
SplitId.Cid1 => "Cid 1",
|
|
SplitId.Rafflesia => "Rafflesia",
|
|
SplitId.Daedalus => "Daedalus",
|
|
SplitId.Tyrant => "Tyrant",
|
|
SplitId.Shemhazai => "Shemhazai",
|
|
SplitId.Hydro => "Hydro",
|
|
SplitId.Pandaemonium => "Pandaemonium",
|
|
SplitId.Slyt => "Slyt",
|
|
SplitId.Fenrir => "Fenrir",
|
|
SplitId.Hashmal => "Hashmal",
|
|
SplitId.Cid2 => "Cid 2",
|
|
SplitId.Gabranth => "Gabranth",
|
|
SplitId.TheUndying => "The Undying",
|
|
SplitId.Judges => "Judges",
|
|
SplitId.DemonWall2 => "Demon Wall 2",
|
|
SplitId.Vossler => "Vossler",
|
|
SplitId.Flans => "Flans",
|
|
SplitId.AirCutterRemora => "Air Cutter Remora",
|
|
SplitId.Sunstone => "Sunstone",
|
|
SplitId.Vayne => "Vayne",
|
|
SplitId.VayneNovus => "Vayne Novus",
|
|
SplitId.LhusuMines => "Lhusu Mines",
|
|
SplitId.LeaveEruytVillage => "Leave Eruyt Village",
|
|
SplitId.OsmonePlain => "Osmone Plain",
|
|
SplitId.Salikawood => "Salikawood",
|
|
SplitId.PhonCoastTchitaUplands => "Phon Coast & Tchita Uplands",
|
|
SplitId.Archades => "Archades",
|
|
SplitId.EnterEruytVillage => "Enter Eruyt Village",
|
|
_ => throw new ArgumentOutOfRangeException(nameof(id), id, null),
|
|
};
|
|
}
|