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

28 lines
975 B
C#

namespace PKHeX.Core
{
public sealed class BattleBox6 : SaveBlock<SAV6>
{
public BattleBox6(SAV6XY SAV, int offset) : base(SAV) => Offset = offset;
public BattleBox6(SAV6AO SAV, int offset) : base(SAV) => Offset = offset;
private int LockedFlagOffset => Offset + (6 * PokeCrypto.SIZE_6STORED);
public bool Locked
{
get => LockedWiFiTournament || LockedLiveTournament;
set => LockedWiFiTournament = LockedLiveTournament = value;
}
public bool LockedWiFiTournament
{
get => (Data[LockedFlagOffset] & 1) != 0;
set => Data[LockedFlagOffset] = (byte)((Data[Offset + LockedFlagOffset] & ~1) | (value ? 1 : 0));
}
public bool LockedLiveTournament
{
get => (Data[LockedFlagOffset] & 2) != 0;
set => Data[LockedFlagOffset] = (byte)((Data[Offset + LockedFlagOffset] & ~2) | (value ? 2 : 0));
}
}
}