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}";
}
}
}