using System.Collections.Generic;
using System.IO;
using System.Linq;
namespace OpenVIII
{
namespace Kernel
{
///
/// Misc Data
///
///
public sealed class MiscSection
{
#region Fields
public const int Count = 1;
public const int ID = 29;
#endregion Fields
#region Constructors
private MiscSection(BinaryReader br, int i)
{
StatusTimers = br.ReadBytes(14);
AtbSpeedMultiplier = br.ReadByte();
DeadTimer = br.ReadByte();
StatusLimitEffects = br.ReadBytes(32);
DuelTimersAndStartMoves = br.ReadBytes(8);
ShotTimers = br.ReadBytes(4);
}
#endregion Constructors
#region Properties
public byte AtbSpeedMultiplier { get; }
public byte DeadTimer { get; }
public byte[] DuelTimersAndStartMoves { get; }
public byte[] ShotTimers { get; }
public byte[] StatusLimitEffects { get; }
public byte[] StatusTimers { get; }
#endregion Properties
#region Methods
private static MiscSection CreateInstance(BinaryReader br, int i) => new MiscSection(br, i);
public static IReadOnlyList Read(BinaryReader br)
=> Enumerable.Range(0, Count).Select(x => CreateInstance(br, x)).ToList();
#endregion Methods
}
}
}