Improved code usabililty of upgrade unlocks
This commit is contained in:
21
Assets/Scripts/Game/BasicUpgradeButton.cs
Normal file
21
Assets/Scripts/Game/BasicUpgradeButton.cs
Normal 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);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
3
Assets/Scripts/Game/BasicUpgradeButton.cs.meta
Normal file
3
Assets/Scripts/Game/BasicUpgradeButton.cs.meta
Normal file
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f9c5dbc6e19942c19f4dc93fc3777677
|
||||
timeCreated: 1776177196
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user