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;
- }
- }
- }
|