public MapBlock(aBinaryReader reader) { mapType = (MapType)reader.Read16(); firstChar = reader.Read16(); lastChar = reader.Read16(); dataCount = reader.Read16(); if (mapType == MapType.MapMap) { data = new ushort[dataCount]; code = new ushort[dataCount]; for (int i = 0; i < dataCount; ++i) { data[i] = reader.Read16(); code[i] = reader.Read16(); } } else { data = reader.Read16s(dataCount); } }