using System; using System.Collections; using System.Collections.Generic; using System.Linq; using BITKit.UX; using UnityEditor; using UnityEditor.UIElements; using UnityEngine; using UnityEngine.UIElements; using Object = UnityEngine.Object; namespace BITKit.GameEditor { public class ScriptableObjectGroupEditor{} public class ScriptableObjectGroupEditor : EditorWindow where T : Object { protected virtual string AssetsPath => $"Assets/Artists/"; protected readonly List List=new(); private ListView _listView; private VisualElement _container; private void OnEnable() { var paths = AssetDatabase.FindAssets($"t:{typeof(T).Name}"); var allItem = ( from path in paths.Select(AssetDatabase.GUIDToAssetPath) select AssetDatabase.LoadAssetAtPath(path) ).ToArray(); List.AddRange(allItem.Cast()); var container = rootVisualElement.Create(); var css = AssetDatabase.LoadAssetAtPath(BITEditorUtils.InspectorPath); rootVisualElement.styleSheets.Add(css); container.style.flexDirection = FlexDirection.Row; var listViewContainer = container.Create(); listViewContainer.style.flexDirection = FlexDirection.Column; listViewContainer.Create