using System.Collections.Generic;
namespace SabreTools.Models.GCF
{
///
/// Half-Life Game Cache File
///
///
public sealed class File
{
///
/// Header data
///
public Header? Header { get; set; }
///
/// Block entry header data
///
public BlockEntryHeader? BlockEntryHeader { get; set; }
///
/// Block entries data
///
public BlockEntry?[]? BlockEntries { get; set; }
///
/// Fragmentation map header data
///
public FragmentationMapHeader? FragmentationMapHeader { get; set; }
///
/// Fragmentation map data
///
public FragmentationMap?[]? FragmentationMaps { get; set; }
///
/// Block entry map header data
///
/// Part of version 5 but not version 6.
public BlockEntryMapHeader? BlockEntryMapHeader { get; set; }
///
/// Block entry map data
///
/// Part of version 5 but not version 6.
public BlockEntryMap?[]? BlockEntryMaps { get; set; }
///
/// Directory header data
///
public DirectoryHeader? DirectoryHeader { get; set; }
///
/// Directory entries data
///
public DirectoryEntry?[]? DirectoryEntries { get; set; }
///
/// Directory names data
///
public Dictionary? DirectoryNames { get; set; }
///
/// Directory info 1 entries data
///
public DirectoryInfo1Entry?[]? DirectoryInfo1Entries { get; set; }
///
/// Directory info 2 entries data
///
public DirectoryInfo2Entry?[]? DirectoryInfo2Entries { get; set; }
///
/// Directory copy entries data
///
public DirectoryCopyEntry?[]? DirectoryCopyEntries { get; set; }
///
/// Directory local entries data
///
public DirectoryLocalEntry?[]? DirectoryLocalEntries { get; set; }
///
/// Directory map header data
///
public DirectoryMapHeader? DirectoryMapHeader { get; set; }
///
/// Directory map entries data
///
public DirectoryMapEntry?[]? DirectoryMapEntries { get; set; }
///
/// Checksum header data
///
public ChecksumHeader? ChecksumHeader { get; set; }
///
/// Checksum map header data
///
public ChecksumMapHeader? ChecksumMapHeader { get; set; }
///
/// Checksum map entries data
///
public ChecksumMapEntry?[]? ChecksumMapEntries { get; set; }
///
/// Checksum entries data
///
public ChecksumEntry?[]? ChecksumEntries { get; set; }
///
/// Data block header data
///
public DataBlockHeader? DataBlockHeader { get; set; }
}
}