PKHeX/PKHeX.Core/Game/GameStrings/LocationSet/LocationSet4.cs
Kurt 03182ebd3d Update 22.11.24
Adds support for Scarlet & Violet.

Co-Authored-By: SciresM <8676005+SciresM@users.noreply.github.com>
Co-Authored-By: Matt <17801814+sora10pls@users.noreply.github.com>
Co-Authored-By: Lusamine <30205550+Lusamine@users.noreply.github.com>
2022-11-24 17:42:17 -08:00

37 lines
921 B
C#

using System;
using System.Collections.Generic;
namespace PKHeX.Core;
public sealed record LocationSet4(string[] Met0, string[] Met2, string[] Met3) : ILocationSet
{
public ReadOnlySpan<string> GetLocationNames(int bankID) => bankID switch
{
0 => Met0,
2 => Met2,
3 => Met3,
_ => Array.Empty<string>(),
};
public string GetLocationName(int locationID) => locationID switch
{
>= 3000 => Get(Met3, locationID - 3000),
>= 2000 => Get(Met2, locationID - 2000),
_ => Get(Met0, locationID),
};
private static string Get(string[] names, int index)
{
if ((uint)index >= names.Length)
return string.Empty;
return names[index];
}
public IEnumerable<(int Bank, string[] Names)> GetAll()
{
yield return (0, Met0);
yield return (2, Met2);
yield return (3, Met3);
}
}