53 lines
1.3 KiB
C#
53 lines
1.3 KiB
C#
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();
|
|
}
|
|
}
|
|
} |