| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 | using UnityEditor;namespace VEngine.Editor.Simulation{    public class EditorManifestAsset : ManifestAsset    {        private int assetIndex;        private int groupIndex;        private string[] groups;        protected override void OnLoad()        {            base.OnLoad();            groupIndex = 0;            assetIndex = 0;            pathOrURL = name;            groups = AssetDatabase.GetAllAssetBundleNames();            status = LoadableStatus.Loading;        }        public override void Override()        {            Versions.Override(asset);        }        protected override void OnUpdate()        {            if (status == LoadableStatus.Loading)            {                while (groupIndex < groups.Length)                {                    var group = groups[groupIndex];                    var assets = AssetDatabase.GetAssetPathsFromAssetBundle(group);                    while (assetIndex < assets.Length)                    {                        asset.AddAsset(assets[assetIndex]);                        assetIndex++;                    }                    assetIndex = 0;                    groupIndex++;                }                Finish();            }        }        public static EditorManifestAsset Create(string name, bool builtin)        {            var asset = new EditorManifestAsset            {                name = name            };            return asset;        }    }}
 |