Alexandria.Games.Arcanum.ArchiveFormat.LoadMatch C# (CSharp) Method

LoadMatch() public method

public LoadMatch ( AssetLoader loader ) : LoadMatchStrength
loader Glare.Assets.AssetLoader
return LoadMatchStrength
        public override LoadMatchStrength LoadMatch(AssetLoader loader)
        {
            BinaryReader reader = loader.Reader;

            if (loader.Length < 12)
                return LoadMatchStrength.None;

            loader.Position = loader.Length - 12;
            int magic = reader.ReadInt32();
            if (magic != Archive.Magic)
                return LoadMatchStrength.None;

            int namesSize = reader.ReadInt32();
            int headerSize = reader.ReadInt32();
            if (loader.Length < headerSize + 4)
                return LoadMatchStrength.None;

            loader.Position = loader.Length - 4 - headerSize;
            if (reader.ReadInt32() != loader.Length - headerSize)
                return LoadMatchStrength.None;

            return LoadMatchStrength.Strong;
        }