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

@@ -128,6 +128,7 @@ GameObject:
serializedVersion: 6
m_Component:
- component: {fileID: 1077661}
- component: {fileID: 1077665}
- component: {fileID: 1077664}
- component: {fileID: 1077663}
- component: {fileID: 1077662}
@@ -240,6 +241,20 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1077660}
m_CullTransparentMesh: 1
--- !u!114 &1077665
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1077660}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f9c5dbc6e19942c19f4dc93fc3777677, type: 3}
m_Name:
m_EditorClassIdentifier: Fruitomation::Fruitomation.Game.BasicUpgradeButton
Upgrade: 3
UpgradeCost: 0
--- !u!1 &120641730
GameObject:
m_ObjectHideFlags: 0
@@ -569,6 +584,7 @@ GameObject:
serializedVersion: 6
m_Component:
- component: {fileID: 216535972}
- component: {fileID: 216535976}
- component: {fileID: 216535975}
- component: {fileID: 216535974}
- component: {fileID: 216535973}
@@ -681,6 +697,20 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 216535971}
m_CullTransparentMesh: 1
--- !u!114 &216535976
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 216535971}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f9c5dbc6e19942c19f4dc93fc3777677, type: 3}
m_Name:
m_EditorClassIdentifier: Fruitomation::Fruitomation.Game.BasicUpgradeButton
Upgrade: 1
UpgradeCost: 0
--- !u!1 &291432704
GameObject:
m_ObjectHideFlags: 0
@@ -769,6 +799,7 @@ GameObject:
serializedVersion: 6
m_Component:
- component: {fileID: 306312743}
- component: {fileID: 306312747}
- component: {fileID: 306312746}
- component: {fileID: 306312745}
- component: {fileID: 306312744}
@@ -843,7 +874,7 @@ MonoBehaviour:
m_OnClick:
m_PersistentCalls:
m_Calls:
- m_Target: {fileID: 572127664}
- m_Target: {fileID: 0}
m_TargetAssemblyTypeName: Fruitomation.Game.UpgradeManager, Fruitomation
m_MethodName: UnlockBasicUpgrade
m_Mode: 5
@@ -893,6 +924,20 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 306312742}
m_CullTransparentMesh: 1
--- !u!114 &306312747
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 306312742}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f9c5dbc6e19942c19f4dc93fc3777677, type: 3}
m_Name:
m_EditorClassIdentifier: Fruitomation::Fruitomation.Game.BasicUpgradeButton
Upgrade: 0
UpgradeCost: 0
--- !u!1 &406517114
GameObject:
m_ObjectHideFlags: 0
@@ -902,6 +947,7 @@ GameObject:
serializedVersion: 6
m_Component:
- component: {fileID: 406517115}
- component: {fileID: 406517119}
- component: {fileID: 406517118}
- component: {fileID: 406517117}
- component: {fileID: 406517116}
@@ -1014,6 +1060,20 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 406517114}
m_CullTransparentMesh: 1
--- !u!114 &406517119
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 406517114}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f9c5dbc6e19942c19f4dc93fc3777677, type: 3}
m_Name:
m_EditorClassIdentifier: Fruitomation::Fruitomation.Game.BasicUpgradeButton
Upgrade: 6
UpgradeCost: 0
--- !u!1 &475841621
GameObject:
m_ObjectHideFlags: 0
@@ -1151,50 +1211,6 @@ MonoBehaviour:
m_VarianceClampScale: 0.9
m_ContrastAdaptiveSharpening: 0
m_Version: 2
--- !u!1 &572127662
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 572127663}
- component: {fileID: 572127664}
m_Layer: 0
m_Name: UpgradesManager
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &572127663
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 572127662}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: -0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &572127664
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 572127662}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 38c26644b322484cb5ca345985d03dd9, type: 3}
m_Name:
m_EditorClassIdentifier: Fruitomation::Fruitomation.Game.UpgradeManager
--- !u!1 &683605710
GameObject:
m_ObjectHideFlags: 0
@@ -1204,6 +1220,7 @@ GameObject:
serializedVersion: 6
m_Component:
- component: {fileID: 683605711}
- component: {fileID: 683605715}
- component: {fileID: 683605714}
- component: {fileID: 683605713}
- component: {fileID: 683605712}
@@ -1316,6 +1333,20 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 683605710}
m_CullTransparentMesh: 1
--- !u!114 &683605715
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 683605710}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f9c5dbc6e19942c19f4dc93fc3777677, type: 3}
m_Name:
m_EditorClassIdentifier: Fruitomation::Fruitomation.Game.BasicUpgradeButton
Upgrade: 4
UpgradeCost: 0
--- !u!1 &919315872
GameObject:
m_ObjectHideFlags: 0
@@ -1845,6 +1876,7 @@ GameObject:
serializedVersion: 6
m_Component:
- component: {fileID: 1394817802}
- component: {fileID: 1394817806}
- component: {fileID: 1394817805}
- component: {fileID: 1394817804}
- component: {fileID: 1394817803}
@@ -1957,6 +1989,20 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1394817801}
m_CullTransparentMesh: 1
--- !u!114 &1394817806
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1394817801}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f9c5dbc6e19942c19f4dc93fc3777677, type: 3}
m_Name:
m_EditorClassIdentifier: Fruitomation::Fruitomation.Game.BasicUpgradeButton
Upgrade: 5
UpgradeCost: 0
--- !u!1 &1454648453
GameObject:
m_ObjectHideFlags: 0
@@ -2377,6 +2423,7 @@ GameObject:
serializedVersion: 6
m_Component:
- component: {fileID: 1992771922}
- component: {fileID: 1992771926}
- component: {fileID: 1992771925}
- component: {fileID: 1992771924}
- component: {fileID: 1992771923}
@@ -2489,6 +2536,20 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1992771921}
m_CullTransparentMesh: 1
--- !u!114 &1992771926
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1992771921}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f9c5dbc6e19942c19f4dc93fc3777677, type: 3}
m_Name:
m_EditorClassIdentifier: Fruitomation::Fruitomation.Game.BasicUpgradeButton
Upgrade: 2
UpgradeCost: 0
--- !u!1 &2129197832
GameObject:
m_ObjectHideFlags: 0
@@ -2576,4 +2637,3 @@ SceneRoots:
- {fileID: 198458139}
- {fileID: 1601651585}
- {fileID: 1630531059}
- {fileID: 572127663}

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);
}
}