namespace KeepersCompound.LGS.Database.Chunks; class AiRoomDb : IChunk { public struct Cell { int Size { get; set; } uint[] CellIds { get; set; } public Cell(BinaryReader reader) { Size = reader.ReadInt32(); CellIds = new uint[Size]; for (var i = 0; i < Size; i++) { CellIds[i] = reader.ReadUInt32(); } } public readonly void Write(BinaryWriter writer) { writer.Write(Size); for (var i = 0; i < Size; i++) { writer.Write(CellIds[i]); } } } public ChunkHeader Header { get; set; } public bool IsEmpty { get; set; } public int ValidCellCount { get; set; } public int CellCount { get; set; } public Cell[] Cells { get; set; } public void ReadData(BinaryReader reader, DbFile.TableOfContents.Entry entry) { IsEmpty = reader.ReadBoolean(); reader.ReadBytes(3); ValidCellCount = reader.ReadInt32(); CellCount = reader.ReadInt16(); Cells = new Cell[CellCount]; for (var i = 0; i < CellCount; i++) { Cells[i] = new Cell(reader); } } public void WriteData(BinaryWriter writer) { writer.Write(IsEmpty); writer.Write(new byte[3]); writer.Write(ValidCellCount); writer.Write(CellCount); for (var i = 0; i < CellCount; i++) { Cells[i].Write(writer); } throw new System.NotImplementedException(); } }