Improved upgrade menu look
This commit is contained in:
53
Assets/Scripts/Game/CurrencyAmount.cs
Normal file
53
Assets/Scripts/Game/CurrencyAmount.cs
Normal file
@@ -0,0 +1,53 @@
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
3
Assets/Scripts/Game/CurrencyAmount.cs.meta
Normal file
3
Assets/Scripts/Game/CurrencyAmount.cs.meta
Normal file
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7e9afb637ef14ed4b34fd226298272d5
|
||||
timeCreated: 1776767993
|
||||
Reference in New Issue
Block a user