newlon/scripts/gui/almanach/AlmanachGrid.cs
2025-07-25 18:48:49 +05:00

46 lines
1 KiB
C#

using Godot;
using Newlon;
using Newlon.Components.GUI.Seedpackets;
public partial class AlmanachGrid : GridContainer
{
private PackedScene _plantCard = ResourceLoader.Load<PackedScene>("res://scenes/gui/seedpacket.tscn");
[Export]
private bool _zombies;
public override void _Ready()
{
if (_zombies)
{
var list = GameRegistry.GetZombies();
list.Sort((a, b) =>
{
return a.Order - b.Order;
});
foreach (var resource in list)
{
Seedpacket slot = _plantCard.Instantiate<Seedpacket>();
AddChild(slot);
slot.SetResource(resource.ToGridEntity());
slot.SetHandler(new AlmanachHandler(slot));
}
}
else
{
var list = GameRegistry.GetPlants();
list.Sort((a, b) =>
{
return a.Order - b.Order;
});
foreach (var resource in list)
{
Seedpacket slot = _plantCard.Instantiate<Seedpacket>();
AddChild(slot);
slot.SetResource(resource);
slot.SetLocked(PlayerProgress.Instance.PlayerPlants.Contains(resource) == false);
slot.SetHandler(new AlmanachHandler(slot));
}
}
}
}