2023-01-22 04:02:33 +00:00
|
|
|
using System;
|
2022-01-03 05:35:59 +00:00
|
|
|
using static System.Buffers.Binary.BinaryPrimitives;
|
2019-06-09 02:56:11 +00:00
|
|
|
|
2022-06-18 18:04:24 +00:00
|
|
|
namespace PKHeX.Core;
|
2019-06-09 02:56:11 +00:00
|
|
|
|
2022-06-18 18:04:24 +00:00
|
|
|
public sealed class SangoInfoBlock : SaveBlock<SAV6AO>
|
|
|
|
{
|
|
|
|
public SangoInfoBlock(SAV6AO SAV, int offset) : base(SAV) => Offset = offset;
|
2019-06-09 02:56:11 +00:00
|
|
|
|
2022-06-18 18:04:24 +00:00
|
|
|
private const uint EON_MAGIC = WC6.EonTicketConst;
|
2019-06-09 02:56:11 +00:00
|
|
|
|
2022-06-18 18:04:24 +00:00
|
|
|
public uint EonTicketReceivedMagic // 0x319B8
|
|
|
|
{
|
|
|
|
get => ReadUInt32LittleEndian(Data.AsSpan(Offset + 0x63B8));
|
|
|
|
set => WriteUInt32LittleEndian(Data.AsSpan(Offset + 0x63B8), value);
|
|
|
|
}
|
2019-06-09 02:56:11 +00:00
|
|
|
|
2022-06-18 18:04:24 +00:00
|
|
|
public string SecretBaseQRText // 0x319BC -- 17*u16
|
|
|
|
{
|
|
|
|
get => SAV.GetString(Data.AsSpan(Offset + 0x63BC, 36));
|
2023-01-22 04:02:33 +00:00
|
|
|
set => SAV.SetString(Data.AsSpan(Offset + 0x63BC, 36), value, 0x10, StringConverterOption.ClearZero);
|
2022-06-18 18:04:24 +00:00
|
|
|
}
|
2019-06-09 02:56:11 +00:00
|
|
|
|
2022-06-18 18:04:24 +00:00
|
|
|
public uint EonTicketSendMagic // 0x319DE
|
|
|
|
{
|
|
|
|
get => ReadUInt32LittleEndian(Data.AsSpan(Offset + 0x63DE));
|
|
|
|
set => WriteUInt32LittleEndian(Data.AsSpan(Offset + 0x63DE), value);
|
2019-06-09 02:56:11 +00:00
|
|
|
}
|
2022-06-18 18:04:24 +00:00
|
|
|
|
|
|
|
public void ReceiveEon() => EonTicketReceivedMagic = EON_MAGIC;
|
|
|
|
public void EnableSendEon() => EonTicketSendMagic = EON_MAGIC;
|
2022-01-03 05:35:59 +00:00
|
|
|
}
|