PKHeX/PKHeX.Core/Saves/Substructures/Gen6/SangoInfoBlock.cs
Kurt a681783f1a Extract interface for SaveBlock, allow strict
External users shouldn't be using SaveBlock
2022-04-15 11:45:04 -07:00

33 lines
1.2 KiB
C#

using System;
using static System.Buffers.Binary.BinaryPrimitives;
namespace PKHeX.Core
{
public sealed class SangoInfoBlock : SaveBlock<SAV6AO>
{
public SangoInfoBlock(SAV6AO SAV, int offset) : base(SAV) => Offset = offset;
private const uint EON_MAGIC = WC6.EonTicketConst;
public uint EonTicketReceivedMagic // 0x319B8
{
get => ReadUInt32LittleEndian(Data.AsSpan(Offset + 0x63B8));
set => WriteUInt32LittleEndian(Data.AsSpan(Offset + 0x63B8), value);
}
public string SecretBaseQRText // 0x319BC -- 17*u16
{
get => SAV.GetString(Data.AsSpan(Offset + 0x63BC, 36));
set => SAV.SetString(Data.AsSpan(Offset + 0x63BC, 36), value.AsSpan(), 0x10, StringConverterOption.ClearZero);
}
public uint EonTicketSendMagic // 0x319DE
{
get => ReadUInt32LittleEndian(Data.AsSpan(Offset + 0x63DE));
set => WriteUInt32LittleEndian(Data.AsSpan(Offset + 0x63DE), value);
}
public void ReceiveEon() => EonTicketReceivedMagic = EON_MAGIC;
public void EnableSendEon() => EonTicketSendMagic = EON_MAGIC;
}
}