using System.Collections.Generic;
using System.Linq;
namespace OpenVIII
{
namespace Kernel
{
///
/// Non battle Items Name and Description Offsets Data
///
///
public sealed class NonBattleItemsData
{
#region Fields
public const int Count = 166;
public const int ID = 8;
#endregion Fields
#region Constructors
private NonBattleItemsData(int i)
{
//0x0000 2 bytes Offset to item name
Name = Memory.Strings.Read(Strings.FileID.Kernel, ID, i * 2);
//0x0002 2 bytes Offset to item description
Description = Memory.Strings.Read(Strings.FileID.Kernel, ID, i * 2 + 1);
NonBattleItemsDataID = i;
}
#endregion Constructors
#region Properties
///
///0x0002 2 bytes Offset to item description
///
public FF8String Description { get; }
///
///0x0000 2 bytes Offset to item name
///
public FF8String Name { get; }
public int NonBattleItemsDataID { get; }
#endregion Properties
#region Methods
public static IReadOnlyList Read()
=> Enumerable.Range(0, Count).Select(CreateInstance).ToList();
public override string ToString() => Name;
private static NonBattleItemsData CreateInstance(int i) => new NonBattleItemsData(i);
#endregion Methods
}
}
}