using System.Collections.Immutable; using Godot; using SharpIDE.Application.Features.Nuget; namespace SharpIDE.Godot.Features.Nuget; public partial class PackageEntry : MarginContainer { private Button _button; private Label _packageNameLabel = null!; private Label _currentVersionLabel = null!; private Label _latestVersionLabel = null!; private HBoxContainer _sourceNamesContainer = null!; private TextureRect _packageIconTextureRect = null!; private static readonly Color Source_1_Color = new Color("629655"); private static readonly Color Source_2_Color = new Color("008989"); private static readonly Color Source_3_Color = new Color("8d75a8"); private static readonly Color Source_4_Color = new Color("966a00"); private static readonly Color Source_5_Color = new Color("efaeae"); private static readonly ImmutableArray SourceColors = [ Source_1_Color, Source_2_Color, Source_3_Color, Source_4_Color, Source_5_Color ]; public event Func PackageSelected = null!; [Inject] private readonly NugetPackageIconCacheService _nugetPackageIconCacheService = null!; public IdePackageResult PackageResult { get; set; } = null!; public override void _Ready() { _button = GetNode