using System.Collections.Generic; using System.Linq; using UnityEditor; namespace NBC.Asset.Editor { [FilePath("Assets/AssetCaches.asset")] public class Caches : ScriptableSingleton { public List Assets = new List(); public List Bundles = new List(); public void ClearBundles() { Bundles.Clear(); Save(); } public void ClearAssets() { Assets.Clear(); Save(); } public void AddOrUpdate(ICollection assets) { foreach (var asset in assets) { AddOrUpdate(asset); } } public void AddOrUpdate(BuildAsset asset) { Assets.Add(asset); } public void AddOrUpdate(ICollection bundles) { foreach (var bundle in bundles) { AddBundle(bundle); } } public void AddBundle(BuildBundle bundle) { Bundles.Add(bundle); } public BuildBundle GetBundle(string name) { return Bundles.FirstOrDefault(bundle => bundle.Name == name); } public void Save() { EditorUtility.SetDirty(this); } } }