PKHeX/PKHeX.Core/Items/ItemStorage4DP.cs
2023-06-11 10:38:51 -07:00

28 lines
1,006 B
C#

using System;
namespace PKHeX.Core;
public sealed class ItemStorage4DP : ItemStorage4, IItemStorage
{
public static readonly ItemStorage4DP Instance = new();
public static ushort[] GetAllHeld()
{
return ArrayUtil.ConcatAll(Pouch_Items_DP, Pouch_Mail_DP, Pouch_Medicine_DP, Pouch_Berries_DP, Pouch_Ball_DP, Pouch_TMHM_DP[..^8]);
}
public bool IsLegal(InventoryType type, int itemIndex, int itemCount) => true;
public ReadOnlySpan<ushort> GetItems(InventoryType type) => type switch
{
InventoryType.Items => Pouch_Items_DP,
InventoryType.KeyItems => Pouch_Key_DP,
InventoryType.TMHMs => Pouch_TMHM_DP,
InventoryType.MailItems => Pouch_Mail_DP,
InventoryType.Medicine => Pouch_Medicine_DP,
InventoryType.Berries => Pouch_Berries_DP,
InventoryType.Balls => Pouch_Ball_DP,
InventoryType.BattleItems => Pouch_Battle_DP,
_ => throw new ArgumentOutOfRangeException(nameof(type), type, null),
};
}