From 631d5691ff973a88db212fd800740cb6239c39fe Mon Sep 17 00:00:00 2001 From: Pasha Bibko <156938226+PashaBibko@users.noreply.github.com> Date: Tue, 28 Apr 2026 16:07:09 +0100 Subject: [PATCH] Removed currency ammount --- Assets/Scripts/Game/CurrencyAmount.cs | 53 ------------------- Assets/Scripts/Game/CurrencyAmount.cs.meta | 3 -- Assets/Scripts/Game/Items/ItemBehaviour.cs | 15 ++++-- .../Game/Items/SerializedItemInfoRegistry.cs | 3 +- Assets/Scripts/Global/MoneyController.cs | 7 +-- Assets/Scripts/UI/BasicUpgradeButton.cs | 4 +- Assets/Scripts/UI/BuildingUnlockButton.cs | 4 +- Assets/Scripts/UI/FruitBowlController.cs | 2 +- 8 files changed, 23 insertions(+), 68 deletions(-) delete mode 100644 Assets/Scripts/Game/CurrencyAmount.cs delete mode 100644 Assets/Scripts/Game/CurrencyAmount.cs.meta diff --git a/Assets/Scripts/Game/CurrencyAmount.cs b/Assets/Scripts/Game/CurrencyAmount.cs deleted file mode 100644 index 222efe9..0000000 --- a/Assets/Scripts/Game/CurrencyAmount.cs +++ /dev/null @@ -1,53 +0,0 @@ -using UnityEngine; -using System.Text; -using System; - -namespace Fruitomation.Game -{ - public enum CurrencyMagnitude - { - Ones, - Thousands, - Millions, - Billions, - Trillions - } - - [Serializable] public class CurrencyAmount - { - [SerializeField] private CurrencyMagnitude Magnitude; - [SerializeField] private float Ammount; - - public string AsString() - { - StringBuilder builder = new(); - builder.Append( - Ammount > 10f - ? $"${Ammount:I}" - : $"${Ammount:F1}" - ); - - switch (Magnitude) - { - case CurrencyMagnitude.Ones: - break; - case CurrencyMagnitude.Thousands: - builder.Append("K"); - break; - case CurrencyMagnitude.Millions: - builder.Append("M"); - break; - case CurrencyMagnitude.Billions: - builder.Append("B"); - break; - case CurrencyMagnitude.Trillions: - builder.Append("T"); - break; - default: - throw new ArgumentOutOfRangeException(); - } - - return builder.ToString(); - } - } -} \ No newline at end of file diff --git a/Assets/Scripts/Game/CurrencyAmount.cs.meta b/Assets/Scripts/Game/CurrencyAmount.cs.meta deleted file mode 100644 index d9145dc..0000000 --- a/Assets/Scripts/Game/CurrencyAmount.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 7e9afb637ef14ed4b34fd226298272d5 -timeCreated: 1776767993 \ No newline at end of file diff --git a/Assets/Scripts/Game/Items/ItemBehaviour.cs b/Assets/Scripts/Game/Items/ItemBehaviour.cs index 2f089d3..f53d896 100644 --- a/Assets/Scripts/Game/Items/ItemBehaviour.cs +++ b/Assets/Scripts/Game/Items/ItemBehaviour.cs @@ -21,8 +21,8 @@ namespace Fruitomation.Game.Items [SerializeField, InspectorReadOnly("Item Type")] private ItemType InternalItemType = ItemType.None; - [SerializeField, InspectorReadOnly("Item Value")] - private CurrencyAmount InternalItemValue; + [SerializeField, InspectorReadOnly] + private double InternalItemValue; public ItemType CurrentType { @@ -84,6 +84,16 @@ namespace Fruitomation.Game.Items ItemInfo info = ItemInfoRegistry.Get(CurrentType); CurrentChild = Instantiate(info.Prefab, transform); + if (info.OverrideCost) + { + InternalItemValue = info.Cost; + } + + else + { + InternalItemValue = Mathf.Pow((float)InternalItemValue, 1.1f); + } + CustomBehaviour = info.GetCustomBehaviour(); if (CustomBehaviour is not null) { @@ -143,7 +153,6 @@ namespace Fruitomation.Game.Items { if (harvest) { - ItemInfo info = ItemInfoRegistry.Get(CurrentType); MoneyController.Add(InternalItemValue); } diff --git a/Assets/Scripts/Game/Items/SerializedItemInfoRegistry.cs b/Assets/Scripts/Game/Items/SerializedItemInfoRegistry.cs index ae9bc33..3fa240f 100644 --- a/Assets/Scripts/Game/Items/SerializedItemInfoRegistry.cs +++ b/Assets/Scripts/Game/Items/SerializedItemInfoRegistry.cs @@ -70,8 +70,9 @@ namespace Fruitomation.Game.Items [SerializeField] private CustomBehaviourType CustomBehaviour; + public bool OverrideCost; + public double Cost; public GameObject Prefab; - public float BaseItemValue; public CustomItemBehaviour GetCustomBehaviour() { diff --git a/Assets/Scripts/Global/MoneyController.cs b/Assets/Scripts/Global/MoneyController.cs index b32be7e..7e39e11 100644 --- a/Assets/Scripts/Global/MoneyController.cs +++ b/Assets/Scripts/Global/MoneyController.cs @@ -9,11 +9,12 @@ namespace Fruitomation.Global private static MoneyController Instance; [SerializeField, InspectorReadOnly("Current Money")] - private CurrencyAmount InternalCurrentMoney = new(); - public static CurrencyAmount Current => Instance.InternalCurrentMoney; + private double InternalCurrentMoney = new(); + public static double Current => Instance.InternalCurrentMoney; - public static void Add(CurrencyAmount amount) + public static void Add(double amount) { + Instance.InternalCurrentMoney += amount; } private void Awake() diff --git a/Assets/Scripts/UI/BasicUpgradeButton.cs b/Assets/Scripts/UI/BasicUpgradeButton.cs index d44d520..6db91fb 100644 --- a/Assets/Scripts/UI/BasicUpgradeButton.cs +++ b/Assets/Scripts/UI/BasicUpgradeButton.cs @@ -27,7 +27,7 @@ namespace Fruitomation.UI [Header("Settings")] [SerializeField] private BasicUpgrade Upgrade; [SerializeField] private bool DrawDefaultLines; - [SerializeField] private CurrencyAmount Cost; + [SerializeField] private double Cost; [SerializeField] private bool BigText; [Header("References")] @@ -162,7 +162,7 @@ namespace Fruitomation.UI { UpgradeState.Hidden => "???", UpgradeState.Viewable => $"{formatted}", - UpgradeState.Unlockable => $"{formatted}\n{Cost.AsString()}", + UpgradeState.Unlockable => $"{formatted}\n{Cost:F1}", UpgradeState.Unlocked => $"{formatted}\nUnlocked", var _ => throw new ArgumentOutOfRangeException() }; diff --git a/Assets/Scripts/UI/BuildingUnlockButton.cs b/Assets/Scripts/UI/BuildingUnlockButton.cs index 99cb0c9..53d3f8a 100644 --- a/Assets/Scripts/UI/BuildingUnlockButton.cs +++ b/Assets/Scripts/UI/BuildingUnlockButton.cs @@ -9,7 +9,7 @@ namespace Fruitomation.UI { [Header("Settings")] [SerializeField] private BuildingUnlock Building; - [SerializeField] private CurrencyAmount Cost; + [SerializeField] private double Cost; [Header("References")] [SerializeField] private Button AttachedButton; @@ -30,7 +30,7 @@ namespace Fruitomation.UI AttachedText.text = unlocked ? $"{formatted}\nUnlocked" - : $"{formatted}\n{Cost.AsString()}"; + : $"{formatted}\n{Cost:F1}"; AttachedButton.interactable = !unlocked; } diff --git a/Assets/Scripts/UI/FruitBowlController.cs b/Assets/Scripts/UI/FruitBowlController.cs index f968a1b..60c3621 100644 --- a/Assets/Scripts/UI/FruitBowlController.cs +++ b/Assets/Scripts/UI/FruitBowlController.cs @@ -56,7 +56,7 @@ namespace Fruitomation.UI private void Update() { - MoneyText.text = $"Current Money: {MoneyController.Current.AsString()}"; + MoneyText.text = $"Current Money: {MoneyController.Current:F1}"; } } }