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