using System;
using System.Linq;
using UnityEditor;
using Object = UnityEngine.Object;
namespace LLM.Editor.Analysis
{
///
/// Executes an AssetDatabase.FindAssets query and returns the results.
///
public class FindAssetsProvider : IContextProvider
{
public object GetContext(Object target, string qualifier)
{
if (string.IsNullOrEmpty(qualifier))
{
return "Error: A query string (qualifier) is required for FindAssets.";
}
var guids = AssetDatabase.FindAssets(qualifier);
if (guids != null && guids.Length != 0)
{
return guids.Select(guid => new
{
guid,
path = AssetDatabase.GUIDToAssetPath(guid)
}).ToArray();
}
if (!qualifier.Contains("guid:")) return Array.Empty