diff --git a/Assets/Scripts/Game/CurrencyAmount.cs b/Assets/Scripts/Game/CurrencyAmount.cs index 3dfa616..222efe9 100644 --- a/Assets/Scripts/Game/CurrencyAmount.cs +++ b/Assets/Scripts/Game/CurrencyAmount.cs @@ -46,7 +46,7 @@ namespace Fruitomation.Game default: throw new ArgumentOutOfRangeException(); } - + return builder.ToString(); } } diff --git a/Assets/Scripts/Game/Items/ItemBehaviour.cs b/Assets/Scripts/Game/Items/ItemBehaviour.cs index d06c009..69f243e 100644 --- a/Assets/Scripts/Game/Items/ItemBehaviour.cs +++ b/Assets/Scripts/Game/Items/ItemBehaviour.cs @@ -21,6 +21,9 @@ namespace Fruitomation.Game.Items [SerializeField, InspectorReadOnly("Item Type")] private ItemType InternalItemType = ItemType.None; + [SerializeField, InspectorReadOnly("Item Value")] + private CurrencyAmount InternalItemValue; + public ItemType CurrentType { get => InternalItemType; @@ -138,8 +141,7 @@ namespace Fruitomation.Game.Items if (harvest) { ItemInfo info = ItemInfoRegistry.Get(CurrentType); - float money = Random.Range(info.MinMoney, info.MaxMoney); - MoneyController.Add(money); + MoneyController.Add(InternalItemValue); } Destroy(gameObject); diff --git a/Assets/Scripts/Game/Items/SerializedItemInfoRegistry.cs b/Assets/Scripts/Game/Items/SerializedItemInfoRegistry.cs index afffdf6..ae9bc33 100644 --- a/Assets/Scripts/Game/Items/SerializedItemInfoRegistry.cs +++ b/Assets/Scripts/Game/Items/SerializedItemInfoRegistry.cs @@ -71,8 +71,7 @@ namespace Fruitomation.Game.Items [SerializeField] private CustomBehaviourType CustomBehaviour; public GameObject Prefab; - public float MinMoney; - public float MaxMoney; + public float BaseItemValue; public CustomItemBehaviour GetCustomBehaviour() { diff --git a/Assets/Scripts/Global/MoneyController.cs b/Assets/Scripts/Global/MoneyController.cs index f77dd99..b32be7e 100644 --- a/Assets/Scripts/Global/MoneyController.cs +++ b/Assets/Scripts/Global/MoneyController.cs @@ -1,4 +1,5 @@ using PashaBibko.Pacore.Attributes; +using Fruitomation.Game; using UnityEngine; namespace Fruitomation.Global @@ -7,16 +8,14 @@ namespace Fruitomation.Global { private static MoneyController Instance; - [SerializeField, InspectorReadOnly("Game State")] private double InternalCurrentMoney; + [SerializeField, InspectorReadOnly("Current Money")] + private CurrencyAmount InternalCurrentMoney = new(); + public static CurrencyAmount Current => Instance.InternalCurrentMoney; - public static double Current + public static void Add(CurrencyAmount amount) { - get => Instance.InternalCurrentMoney; - set => Instance.InternalCurrentMoney = value; } - public static void Add(double amount) => Instance.InternalCurrentMoney += amount; - private void Awake() { if (Instance is not null) diff --git a/Assets/Scripts/UI/FruitBowlController.cs b/Assets/Scripts/UI/FruitBowlController.cs index 56e4a49..fd980bb 100644 --- a/Assets/Scripts/UI/FruitBowlController.cs +++ b/Assets/Scripts/UI/FruitBowlController.cs @@ -46,7 +46,7 @@ namespace Fruitomation.UI private void Update() { - MoneyText.text = $"Current Money: ${MoneyController.Current:F1}"; + MoneyText.text = $"Current Money: {MoneyController.Current.AsString()}"; } } }