using System.Collections; using System.Collections.Generic; #if UNITY_EDITOR using UnityEditor; using UnityEditor.UIElements; #endif using UnityEngine; using UnityEngine.UIElements; namespace BITKit { public class AssetCacheScriptableObject : ScriptableObject { [SerializeField] private bool isEditable; [SerializeField] private Object[] _assets; public bool IsEditable => isEditable; public Object[] Assets => _assets; } #if UNITY_EDITOR [CustomEditor(typeof(AssetCacheScriptableObject))] public class AssetCacheScriptableObjectEditor : BITInspector { public override VisualElement CreateInspectorGUI() { if (agent.IsEditable) { return base.CreateInspectorGUI(); } foreach (var x in agent.Assets) { var field = root.Create(); field.Bind(new SerializedObject(x)); } return root; } } #endif }