Microsoft.Xna.Framework.Graphics.Effect.ReadHeader C# (CSharp) Method

ReadHeader() private method

private ReadHeader ( byte effectCode ) : MGFXHeader
effectCode byte
return MGFXHeader
        private MGFXHeader ReadHeader(byte[] effectCode)
        {
            MGFXHeader header;
            int i=0;
            header.Signature = BitConverter.ToInt32(effectCode, i); i += 4;
            header.Version = (int)effectCode[i++];
            header.Profile = (int)effectCode[i++];
            header.EffectKey = BitConverter.ToInt32(effectCode, i); i += 4;
            header.HeaderSize = i;

            if (header.Signature != MGFXHeader.MGFXSignature)
                throw new Exception("This does not appear to be a MonoGame MGFX file!");
            if (header.Version < MGFXHeader.MGFXVersion)
                throw new Exception("This MGFX effect is for an older release of MonoGame and needs to be rebuilt.");
            if (header.Version > MGFXHeader.MGFXVersion)
                throw new Exception("This MGFX effect seems to be for a newer release of MonoGame.");

#if DIRECTX
            if (header.Profile != 1)
#else
			if (header.Profile != 0)
#endif
                throw new Exception("This MGFX effect was built for a different platform!");
            
            
            return header;
        }