Added lines to the buttons

This commit is contained in:
Pasha Bibko
2026-04-16 15:18:19 +01:00
parent a41696e4db
commit d352809614

View File

@@ -1,4 +1,5 @@
using Fruitomation.Game; using System.Collections.Generic;
using Fruitomation.Game;
using UnityEngine.UI; using UnityEngine.UI;
using UnityEngine; using UnityEngine;
using System.Linq; using System.Linq;
@@ -23,6 +24,8 @@ namespace Fruitomation.UI
[Header("References")] [Header("References")]
[SerializeField] private BasicUpgradeButton[] RequiredUpgrades; [SerializeField] private BasicUpgradeButton[] RequiredUpgrades;
private (LineRenderer, BasicUpgradeButton)[] UpgradeLines;
private UpgradeState State = UpgradeState.Hidden; private UpgradeState State = UpgradeState.Hidden;
private Button AttachedButton; private Button AttachedButton;
private Text AttachedText; private Text AttachedText;
@@ -39,6 +42,24 @@ namespace Fruitomation.UI
/* Stops null reference */ /* Stops null reference */
RequiredUpgrades ??= Array.Empty<BasicUpgradeButton>(); RequiredUpgrades ??= Array.Empty<BasicUpgradeButton>();
List<(LineRenderer, BasicUpgradeButton)> lines = new();
foreach (BasicUpgradeButton required in RequiredUpgrades)
{
GameObject go = new("LineRenderer(Script Spawned)");
go.transform.SetParent(transform);
RectTransform rt = go.AddComponent<RectTransform>();
rt.anchoredPosition = new Vector2();
LineRenderer lr = go.AddComponent<LineRenderer>();
lr.positionCount = 2;
lines.Add((lr, required));
lr.SetPosition(0, transform.position);
lr.SetPosition(1, required.transform.position);
}
UpgradeLines = lines.ToArray();
} }
private bool IsUnlockable => private bool IsUnlockable =>
@@ -51,6 +72,12 @@ namespace Fruitomation.UI
private void Update() private void Update()
{ {
foreach ((LineRenderer lr, BasicUpgradeButton button) in UpgradeLines)
{
lr.SetPosition(0, transform.position);
lr.SetPosition(1, button.transform.position);
}
if (UpgradeManager.Is(Upgrade)) if (UpgradeManager.Is(Upgrade))
{ {
State = UpgradeState.Unlocked; State = UpgradeState.Unlocked;
@@ -73,11 +100,11 @@ namespace Fruitomation.UI
// //
AttachedText.text = State == UpgradeState.Hidden AttachedText.text = //State == UpgradeState.Hidden
? "???" //? "???"
: $"{Upgrade.ToString()} [{UpgradeCost}]"; $"{Upgrade.ToString()} [{UpgradeCost}]";
} }
private bool IsUnlocked => State == UpgradeState.Unlocked; private bool IsUnlocked => State == UpgradeState.Unlocked;
} }
} }