PKHeX/PKHeX.Core/Saves/Substructures/Gen7/Daycare7.cs
Kurt 5729718d68 Simplify ternary byte casts
No longer needed to explicitly cast, thanks c#9 !
2020-12-21 16:53:28 -08:00

44 lines
No EOL
1.3 KiB
C#

namespace PKHeX.Core
{
public sealed class Daycare7 : SaveBlock
{
public const int DaycareSeedSize = 32; // 128 bits
public Daycare7(SAV7SM sav, int offset) : base(sav) => Offset = offset;
public Daycare7(SAV7USUM sav, int offset) : base(sav) => Offset = offset;
public bool GetIsOccupied(int slot)
{
return Data[Offset + ((PokeCrypto.SIZE_6STORED + 1) * slot)] != 0;
}
public void SetOccupied(int slot, bool occupied)
{
Data[Offset + ((PokeCrypto.SIZE_6STORED + 1) * slot)] = occupied ? 1 : 0;
}
public int GetDaycareSlotOffset(int slot)
{
return Offset + 1 + (slot * (PokeCrypto.SIZE_6STORED + 1));
}
public bool HasEgg
{
get => Data[Offset + 0x1D8] == 1;
set => Data[Offset + 0x1D8] = value ? 1 : 0;
}
public string RNGSeed
{
get => Util.GetHexStringFromBytes(Data, Offset + 0x1DC, DaycareSeedSize / 2);
set
{
if (value.Length != DaycareSeedSize)
return;
var data = Util.GetBytesFromHexString(value);
SAV.SetData(data, Offset + 0x1DC);
}
}
}
}