Пример #1
0
        public void Deserialize(BinaryReader reader)
        {
            @by = (PatchBy)reader.ReadByte();
            var count = reader.ReadInt32();

            for (int i = 0; i < count; i++)
            {
                var file = reader.ReadInt32();
                files.Add(file);
            }
        }
Пример #2
0
        public static List <VFile> GetNewFiles(PatchBy patch, string savePath)
        {
            var list  = new List <VFile>();
            var files = serverVersion.GetFiles(patch);

            foreach (var file in files)
            {
                if (IsNew(savePath + file.name, file.len, file.hash))
                {
                    list.Add(file);
                }
            }
            return(list);
        }
        public void PatchAsset(string path, PatchBy patch)
        {
            var asset = ArrayUtility.Find(assets, bundleAsset => bundleAsset.path.Equals(path));

            if (asset != null)
            {
                asset.patch = patch;
                return;
            }
            ArrayUtility.Add(ref assets, new AssetBuild()
            {
                path  = path,
                patch = patch,
            });
        }
        private static void PatchAssets(PatchBy patch)
        {
            var selection = Selection.GetFiltered <Object>(SelectionMode.DeepAssets);
            var rules     = BuildScript.GetBuildRules();

            foreach (var o in selection)
            {
                var path = AssetDatabase.GetAssetPath(o);
                if (string.IsNullOrEmpty(path) || Directory.Exists(path))
                {
                    continue;
                }
                rules.PatchAsset(path, patch);
            }

            EditorUtility.SetDirty(rules);
            AssetDatabase.SaveAssets();
        }
Пример #5
0
        public List <VFile> GetFiles(PatchBy patchBy)
        {
            List <VFile> list = new List <VFile>();
            VPatch       patch;

            if (_dataPatches.TryGetValue(patchBy, out patch))
            {
                if (patch.files.Count > 0)
                {
                    foreach (var file in patch.files)
                    {
                        var item = files[file];
                        list.Add(item);
                    }
                }
            }
            return(list);
        }