示例#1
0
 public void Reset()
 {
     Close();
     fileDic       = null;
     _initHeader   = false;
     _combinefiles = null;
 }
示例#2
0
        private void InitHeader()
        {
            if (_initHeader)
            {
                return;
            }
            _initHeader = true;

            IResourceFileStream irs = ResLoader.LoadFileStreamByName(name);

            if (irs == null)
            {
                if (Config.Debug_Log())
                {
                    Debugger.LogError("ERROR: ivnalid combine file name->" + name);
                }
                return;
            }
            byte[] dataArr = new byte[4];
            irs.Read(dataArr, 0, 4);

            MemoryStream ms      = new MemoryStream(dataArr);
            BinaryReader br      = new BinaryReader(ms);
            int          headlen = br.ReadInt32();

            dataOffset = 4 + headlen;

            dataArr = new byte[headlen];
            irs.Read(dataArr, 4, headlen);
            irs.Close();

            ms            = new MemoryStream(dataArr);
            _combinefiles = Example.Combinefiles.Deserialize(ms);

            if (_combinefiles != null)
            {
                fileDic = new Dictionary <string, Example.Groupcombine>();
                for (int i = 0, count = _combinefiles.Files.Count; i < count; i++)
                {
                    fileDic.Add(_combinefiles.Files[i].Value, _combinefiles.Groups[i]);
                }

                _combinefiles.Files.Clear();
                _combinefiles.Groups.Clear();
            }
        }