2023-01-22 04:02:33 +00:00
|
|
|
using System;
|
2019-09-23 23:56:47 +00:00
|
|
|
|
2022-06-18 18:04:24 +00:00
|
|
|
namespace PKHeX.Core;
|
|
|
|
|
|
|
|
public abstract class RecordBlock<T> : SaveBlock<T>, IRecordStatStorage where T : SaveFile
|
2019-09-23 23:56:47 +00:00
|
|
|
{
|
2023-01-22 04:02:33 +00:00
|
|
|
protected abstract ReadOnlySpan<byte> RecordMax { get; }
|
2022-06-18 18:04:24 +00:00
|
|
|
public abstract int GetRecord(int recordID);
|
|
|
|
public abstract void SetRecord(int recordID, int value);
|
2019-09-23 23:56:47 +00:00
|
|
|
|
2022-06-18 18:04:24 +00:00
|
|
|
public int GetRecordMax(int recordID) => Records.GetMax(recordID, RecordMax);
|
|
|
|
public int GetRecordOffset(int recordID) => Records.GetOffset(Offset, recordID);
|
|
|
|
public void AddRecord(int recordID, int count = 1) => SetRecord(recordID, GetRecord(recordID) + count);
|
2019-09-23 23:56:47 +00:00
|
|
|
|
2022-06-18 18:04:24 +00:00
|
|
|
protected RecordBlock(T sav) : base(sav)
|
|
|
|
{
|
|
|
|
}
|
2019-11-16 01:34:18 +00:00
|
|
|
|
2022-06-18 18:04:24 +00:00
|
|
|
protected RecordBlock(T sav, byte[] data) : base(sav, data)
|
|
|
|
{
|
2019-09-23 23:56:47 +00:00
|
|
|
}
|
2022-06-18 18:04:24 +00:00
|
|
|
}
|