using System.Collections.Generic; namespace MCPForUnity.Editor.Services { /// /// Metadata for a discovered resource /// public class ResourceMetadata { public string Name { get; set; } public string Description { get; set; } public string ClassName { get; set; } public string Namespace { get; set; } public string AssemblyName { get; set; } public bool IsBuiltIn { get; set; } } /// /// Service for discovering MCP resources via reflection /// public interface IResourceDiscoveryService { /// /// Discovers all resources marked with [McpForUnityResource] /// List DiscoverAllResources(); /// /// Gets metadata for a specific resource /// ResourceMetadata GetResourceMetadata(string resourceName); /// /// Returns only the resources currently enabled /// List GetEnabledResources(); /// /// Checks whether a resource is currently enabled /// bool IsResourceEnabled(string resourceName); /// /// Updates the enabled state for a resource /// void SetResourceEnabled(string resourceName, bool enabled); /// /// Invalidates the resource discovery cache /// void InvalidateCache(); } }