67 lines
1.6 KiB
C#
67 lines
1.6 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEditor;
|
|
using UnityEditor.UIElements;
|
|
using UnityEngine;
|
|
using UnityEngine.UIElements;
|
|
|
|
namespace BITKit.GameEditor
|
|
{
|
|
public class AssetCacheDefaultWindow : EditorWindow
|
|
{
|
|
[MenuItem("Tools/AssetCache/DefaultWindow")]
|
|
public static void Open()
|
|
{
|
|
var window = GetWindow<AssetCacheDefaultWindow>();
|
|
window.Show();
|
|
}
|
|
private void OnEnable()
|
|
{
|
|
Rebuild();
|
|
}
|
|
|
|
private void Rebuild()
|
|
{
|
|
var obj =AssetDatabase.LoadAssetAtPath<AssetCacheScriptableObject>("Assets/Artists/Configs/Asset Cache.asset");
|
|
if (obj is null)
|
|
{
|
|
rootVisualElement.Create<Label>().text = "未配置默认的Asset Cache";
|
|
var button = rootVisualElement.Create<Button>();
|
|
button.text = "重新载入";
|
|
//button.clicked += Rebuild;
|
|
return;
|
|
}
|
|
rootVisualElement.Bind(new SerializedObject(obj));
|
|
//BITInspectorExtensions.FillDefaultInspector(rootVisualElement,new SerializedObject(obj),true);
|
|
|
|
var toggle = rootVisualElement.Create<Toggle>();
|
|
toggle.bindingPath = "isEditable";
|
|
toggle.label = "Edit";
|
|
// toggle.RegisterValueChangedCallback(_ =>
|
|
// {
|
|
// Rebuild();
|
|
// });
|
|
|
|
var scroll = rootVisualElement.Create<ScrollView>();
|
|
|
|
if (obj.IsEditable)
|
|
{
|
|
BITInspectorExtensions.FillDefaultInspector(rootVisualElement,new SerializedObject(obj),true);
|
|
}
|
|
else
|
|
{
|
|
foreach (var x in obj.Assets)
|
|
{
|
|
var field = scroll.Create<ObjectField>();
|
|
//field.label = x.name;
|
|
field.style.opacity = 1;
|
|
field.value = x;
|
|
field.SetEnabled(false);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|