BITKit/Packages/Editor/ReferencesTable.cs

42 lines
1.2 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
using UnityEngine.UIElements;
using UnityEditor.UIElements;
using System.Linq;
using UnityEngine.AddressableAssets;
using BITKit;
using BITKit.UX;
namespace BITKit.Editors
{
public class ReferenceEditor : EditorWindow
{
VisualElement root;
ListView listView;
[MenuItem("Tools/References Editor")]
static void Open()
{
var window = EditorWindow.GetWindow<ReferenceEditor>();
//window.titleContent = new("Reference Editor");
window.Show();
Debug.Log("Show");
}
public void CreateGUI()
{
root = Addressables.LoadAssetAsync<VisualTreeAsset>(nameof(ReferenceEditor)).WaitForCompletion().CloneTree();
rootVisualElement.Add(root);
listView = root.Q<ListView>(UXConstant.ContextListView);
var allList = AssetDatabase
.FindAssets($"t:{nameof(ReferenceSO)}")
.Select(x => AssetDatabase.GUIDToAssetPath(x))
.Select(x => AssetDatabase.LoadAssetAtPath<ReferenceSO>(x))
.ToList();
listView.itemsSource = allList;
}
}
}