using System.Collections;
using System.Collections.Generic;
using System.Runtime.InteropServices;
 using UnityEngine;
 using UnityEditor;
 using System.Threading;
 
 public class EditModeFunctions : EditorWindow
 {
     [MenuItem("Window/BVH Options")]
     public static void ShowWindow()
     {
         GetWindow<EditModeFunctions>("BVH Rebuild");
     }
     List<int> ProgIds;

   private void OnStartAsync() {
      EditorUtility.SetDirty(Camera.main.GetComponent<AssetManager>());
      Camera.main.GetComponent<AssetManager>().Begin();
      this.ProgIds = new List<int>(Camera.main.GetComponent<AssetManager>().ProgIds);
   }
     private void OnGUI()
     {
         if (GUILayout.Button("ASSETS LOAD"))
         {  
            OnStartAsync();

         }

         for(int i = ProgIds.Count - 1; i >= 0 ; i--) {
            var i2 = i;
            EditorGUI.ProgressBar(new Rect(0, i2 * 25 + 30, 300, 20), UnityEditor.Progress.GetProgress(ProgIds[i2]), "temp");
            if(UnityEditor.Progress.GetStatus(ProgIds[i2]) == UnityEditor.Progress.Status.Succeeded) {
               UnityEditor.Progress.Remove(ProgIds[i2]);
               ProgIds.RemoveAt(i2);
            }
         }

     }
}