Exemple #1
0
        public bool Load(string path)
        {
            // issue
            // android, webgl error
            if (!File.Exists(path))
            {
                UnityEngine.Debug.LogError("[XAsset] File:Exists() return false.");
                return(false);
            }

            Clear();

            name = path;
            using (var reader = new BinaryReader(File.OpenRead(path)))
            {
                var count = reader.ReadInt32();
                for (var i = 0; i < count; i++)
                {
                    var file = new VFile {
                        Id = i
                    };
                    file.Deserialize(reader);
                    AddFile(file);
                }
                _pos = reader.BaseStream.Position;
            }
            Reindex();
            return(true);
        }
Exemple #2
0
        public static List <VFile> LoadVersions(string filename, bool update = false)
        {
            var rootDir = Path.GetDirectoryName(filename);
            var data    = update ? _updateData : _baseData;

            data.Clear();
            using (var stream = File.OpenRead(filename))
            {
                var reader = new BinaryReader(stream);
                var list   = new List <VFile>();
                var ver    = reader.ReadInt32();
                Debug.Log("LoadVersions:" + ver);
                var count = reader.ReadInt32();
                for (var i = 0; i < count; i++)
                {
                    var version = new VFile();
                    version.Deserialize(reader);
                    list.Add(version);
                    data[version.Name] = version;
                    var dir = string.Format("{0}/{1}", rootDir, Path.GetDirectoryName(version.Name));
                    if (!Directory.Exists(dir))
                    {
                        Directory.CreateDirectory(dir);
                    }
                }
                return(list);
            }
        }