From e929533e7d748298daa2b3c4ba82958dbddffc7c Mon Sep 17 00:00:00 2001 From: UnEpicier Date: Sun, 22 Oct 2023 17:21:12 +0200 Subject: [PATCH] Introduced Upgrade max value to not become God --- Assets/Data/UpgradesData.cs | 1 + Assets/Player/Scripts/PlayerManager.cs | 2 +- Assets/Resources/upgrades.json | 32 ++++++++++++++++------ Assets/Scenes/Game.unity | 20 ++++++++------ Assets/UI/Upgrade Screen/Upgrade Screen.cs | 10 +++++++ 5 files changed, 47 insertions(+), 18 deletions(-) diff --git a/Assets/Data/UpgradesData.cs b/Assets/Data/UpgradesData.cs index 784df76..65ee96d 100644 --- a/Assets/Data/UpgradesData.cs +++ b/Assets/Data/UpgradesData.cs @@ -17,6 +17,7 @@ public class Upgrade { public string name; public string paramName; + public float maxValue; public float value; } diff --git a/Assets/Player/Scripts/PlayerManager.cs b/Assets/Player/Scripts/PlayerManager.cs index 79fa170..15e3587 100644 --- a/Assets/Player/Scripts/PlayerManager.cs +++ b/Assets/Player/Scripts/PlayerManager.cs @@ -23,8 +23,8 @@ public class PlayerManager : MonoBehaviour public float SwordsQuantity = 5f; public float ArrowDamages = 15f; - public float ArrowRange = 5f; public float ArrowFrequency = 2f; + public float ArrowRange = 5f; public float laserOnX = 0f; public float laserOnY = 0f; diff --git a/Assets/Resources/upgrades.json b/Assets/Resources/upgrades.json index 0ad97ff..ec49541 100644 --- a/Assets/Resources/upgrades.json +++ b/Assets/Resources/upgrades.json @@ -3,72 +3,86 @@ { "name": "Max health", "paramName": "MaxHealth", - "value": 25 + "maxValue": 10000, + "value": 5 }, { "name": "Heal quantity", "paramName": "HealValue", + "maxValue": 2500, "value": 2 }, { "name": "Movement speed", "paramName": "Speed", - "value": 0.5 + "maxValue": 3, + "value": 0.1 }, { "name": "Orb Absorber radius", "paramName": "OrbAbsorberRadius", - "value": 0.2 + "maxValue": 2, + "value": 0.05 }, { "name": "Beam damages", "paramName": "BeamDamages", + "maxValue": -1, "value": 15 }, { "name": "Beam frequency", "paramName": "BeamFrequency", - "value": -0.5 + "maxValue": 0, + "value": -0.01 }, { "name": "2 Horizontal beams", "paramName": "laserOnX", + "maxValue": 1, "value": 1 }, { "name": "2 Vertical beams", "paramName": "laserOnY", + "maxValue": 1, "value": 1 }, { "name": "Swords' Halo radius", "paramName": "SwordsHaloRadius", - "value": 0.1 + "maxValue": 2, + "value": 0.05 }, { "name": "Swords damages", "paramName": "SwordsDamages", - "value": 25 + "maxValue": -1, + "value": 5 }, { "name": "Swords quantity", "paramName": "SwordsQuantity", + "maxValue": 50, "value": 1 }, { "name": "Arrow damages", "paramName": "ArrowDamages", - "value": 15 + "maxValue": -1, + "value": 10 }, { "name": "Arrow range", "paramName": "ArrowRange", - "value": 1 + "maxValue": 10, + "value": 0.05 }, { "name": "Arrow frequency", "paramName": "ArrowFrequency", - "value": -0.5 + "maxValue": 0.5, + "value": -0.1 } ] } diff --git a/Assets/Scenes/Game.unity b/Assets/Scenes/Game.unity index a13e151..a53e73e 100644 --- a/Assets/Scenes/Game.unity +++ b/Assets/Scenes/Game.unity @@ -359,18 +359,22 @@ PrefabInstance: propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} + - target: {fileID: 4761054675786854393, guid: 05d927a24df204541afbb77f1af3a9a2, type: 3} + propertyPath: Mayor + value: + objectReference: {fileID: 6061697268588932327, guid: 797fec3354cfff54e95743a263e79f8f, type: 3} + - target: {fileID: 4761054675786854393, guid: 05d927a24df204541afbb77f1af3a9a2, type: 3} + propertyPath: Minautor + value: + objectReference: {fileID: 1374640533067853523, guid: 5115e3c062ab0d94c993c9a01963c9bb, type: 3} + - target: {fileID: 4761054675786854393, guid: 05d927a24df204541afbb77f1af3a9a2, type: 3} + propertyPath: BringerOfDeath + value: + objectReference: {fileID: 1631754574535955224, guid: 7339e2869a0a9d241b10f5d0a658ff4d, type: 3} - target: {fileID: 7600806342610375037, guid: 05d927a24df204541afbb77f1af3a9a2, type: 3} propertyPath: upgrades.upgrades.Array.size value: 0 objectReference: {fileID: 0} - - target: {fileID: 8339747699126584523, guid: 05d927a24df204541afbb77f1af3a9a2, type: 3} - propertyPath: laserOnY - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 8339747699126584523, guid: 05d927a24df204541afbb77f1af3a9a2, type: 3} - propertyPath: BeamFrequency - value: 0 - objectReference: {fileID: 0} - target: {fileID: 8872681192320925159, guid: 05d927a24df204541afbb77f1af3a9a2, type: 3} propertyPath: m_LocalPosition.x value: 0 diff --git a/Assets/UI/Upgrade Screen/Upgrade Screen.cs b/Assets/UI/Upgrade Screen/Upgrade Screen.cs index e6510dd..b96db3b 100644 --- a/Assets/UI/Upgrade Screen/Upgrade Screen.cs +++ b/Assets/UI/Upgrade Screen/Upgrade Screen.cs @@ -69,6 +69,16 @@ public class UpgradeScreen : MonoBehaviour field.SetValue(manager, fieldValue + upgrades[i].value); + if ( + (upgrades[i].maxValue > 0 && fieldValue + upgrades[i].value >= upgrades[i].maxValue) || + (upgrades[i].maxValue < 0 && fieldValue + upgrades[i].value <= upgrades[i].maxValue) + ) + { + List upgradesList = new(_upgrades); + upgradesList.RemoveAt(i); + _upgrades = upgradesList.ToArray(); + } + Time.timeScale = 1f; button.transform.parent.parent.parent.gameObject.SetActive(false); }