예제 #1
0
        public void ReadReaders(XnbStreamReader streamReader)
        {
            lock (_xnbTypeReaders)
            {
                if (_resolvedReaders)
                {
                    throw new XnbException("Already resolved readers");
                }
                _resolvedReaders = true;

                int readerCount = streamReader.Read7BitEncodedInt();
                for (var i = 0; i < readerCount; i++)
                {
                    string        readerName = streamReader.ReadString();
                    int           version    = streamReader.ReadInt32();
                    Type          readerType = XnbTypeReaderTypeResolver.ResolveFromName(readerName);
                    XnbTypeReader reader     = XnbReaderFactory.CreateReaderFromType(readerType);
                    _xnbTypeReaders.Add(reader);
                }
            }
        }