37 lines
1 KiB
C#
37 lines
1 KiB
C#
using Lumina.Excel;
|
|
using Lumina.Excel.Sheets;
|
|
|
|
namespace LLib.Gear;
|
|
|
|
[Sheet("BaseParam")]
|
|
public readonly struct ExtendedBaseParam : IExcelRow<ExtendedBaseParam>
|
|
{
|
|
private const int ParamCount = 23;
|
|
|
|
public uint RowId => _003Crow_003EP;
|
|
|
|
public BaseParam BaseParam => new BaseParam(_003Cpage_003EP, _003Coffset_003EP, _003Crow_003EP);
|
|
|
|
public unsafe Collection<ushort> EquipSlotCategoryPct => new Collection<ushort>(_003Cpage_003EP, _003Coffset_003EP, _003Coffset_003EP, (delegate*<ExcelPage, uint, uint, uint, ushort>)(&EquipSlotCategoryPctCtor), 23);
|
|
|
|
public ExtendedBaseParam(ExcelPage page, uint offset, uint row)
|
|
{
|
|
_003Cpage_003EP = page;
|
|
_003Coffset_003EP = offset;
|
|
_003Crow_003EP = row;
|
|
}
|
|
|
|
private static ushort EquipSlotCategoryPctCtor(ExcelPage page, uint parentOffset, uint offset, uint i)
|
|
{
|
|
if (i != 0)
|
|
{
|
|
return page.ReadUInt16(offset + 8 + (i - 1) * 2);
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
public static ExtendedBaseParam Create(ExcelPage page, uint offset, uint row)
|
|
{
|
|
return new ExtendedBaseParam(page, offset, row);
|
|
}
|
|
}
|