Improved code usabililty of upgrade unlocks

This commit is contained in:
Pasha Bibko
2026-04-14 15:38:20 +01:00
parent 31844bbeee
commit 41431b9aae
4 changed files with 132 additions and 52 deletions

View File

@@ -0,0 +1,21 @@
using UnityEngine;
using UnityEngine.UI;
namespace Fruitomation.Game
{
public class BasicUpgradeButton : MonoBehaviour
{
[Header("Settings")]
[SerializeField] private BasicUpgrade Upgrade;
[SerializeField] private int UpgradeCost;
private void Awake()
{
Button b = GetComponent<Button>();
b.onClick.AddListener(() =>
{
UpgradeManager.Unlock(Upgrade);
});
}
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: f9c5dbc6e19942c19f4dc93fc3777677
timeCreated: 1776177196

View File

@@ -88,7 +88,7 @@ namespace Fruitomation.Game
}
}
public class UpgradeManager : MonoBehaviour
public static class UpgradeManager
{
private static string Filepath => Path.Combine(Application.persistentDataPath, "upgrades.json");
private static UnlockedUpgrades CurrentUpgrades;
@@ -119,10 +119,6 @@ namespace Fruitomation.Game
File.WriteAllText(Filepath, json);
}
public void UnlockBasicUpgrade(string id)
{
BasicUpgrade upgrade = Enum.Parse<BasicUpgrade>(id);
CurrentUpgrades.Unlock(upgrade);
}
public static void Unlock(BasicUpgrade upgrade) => CurrentUpgrades.Unlock(upgrade);
}
}