using System; using System.Collections; using System.Collections.Concurrent; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net.Http; using System.Runtime.CompilerServices; using System.Threading; using Abi.Newtonsoft.Json; using UnityEditor; using UnityEditor.PackageManager; using UnityEditor.PackageManager.Requests; using UnityEditor.UIElements; using UnityEngine; using UnityEngine.Networking; using UnityEngine.UIElements; namespace ABI.CCK.Interface { public class ModuleWorkshop : EditorWindow { private static VisualTreeAsset tree; private static VisualElement row; private static List modules = new List(); private static List installedModules = new List(); private static ListRequest Request; private static List InstalledPackages = new List(); private static ConcurrentDictionary SearchAction = new ConcurrentDictionary(); private static bool loading = false; [MenuItem ("Alpha Blend Interactive/Module Workshop", false, 500)] public static void ShowWindow () { EditorWindow w = EditorWindow.GetWindow(typeof(ModuleWorkshop), false, "CCK :: Module Workshop"); w.maxSize = new Vector2(800, 600); w.minSize = w.maxSize; ((ModuleWorkshop) w).Configure(w); } public void Configure(EditorWindow w) { if (tree == null) tree = AssetDatabase.LoadAssetAtPath("Assets/ABI.CCK/Interface/module-workshop.uxml"); row = tree.CloneTree(); w.rootVisualElement.Add(row); row.Q(className: "obj-list").Clear(); row.Q