using System; namespace MCPForUnity.Editor.Dependencies.Models { /// /// Represents the status of a dependency check /// [Serializable] public class DependencyStatus { /// /// Name of the dependency being checked /// public string Name { get; set; } /// /// Whether the dependency is available and functional /// public bool IsAvailable { get; set; } /// /// Version information if available /// public string Version { get; set; } /// /// Path to the dependency executable/installation /// public string Path { get; set; } /// /// Additional details about the dependency status /// public string Details { get; set; } /// /// Error message if dependency check failed /// public string ErrorMessage { get; set; } /// /// Whether this dependency is required for basic functionality /// public bool IsRequired { get; set; } /// /// Suggested installation method or URL /// public string InstallationHint { get; set; } public DependencyStatus(string name, bool isRequired = true) { Name = name; IsRequired = isRequired; IsAvailable = false; } public override string ToString() { var status = IsAvailable ? "✓" : "✗"; var version = !string.IsNullOrEmpty(Version) ? $" ({Version})" : ""; return $"{status} {Name}{version}"; } } }