r2mods/ilspy_dump/ror2_csproj/RoR2.UI/MoneyText.cs

62 lines
1.1 KiB
C#

using System;
using TMPro;
using UnityEngine;
namespace RoR2.UI;
[RequireComponent(typeof(RectTransform))]
public class MoneyText : MonoBehaviour
{
public TextMeshProUGUI targetText;
public FlashPanel flashPanel;
private int displayAmount;
private float updateTimer;
private float coinSoundCooldown;
public int targetValue;
public string sound = "Play_UI_coin";
public void Update()
{
coinSoundCooldown -= Time.deltaTime;
if (!targetText)
{
return;
}
if (updateTimer <= 0f)
{
int num = 0;
if (displayAmount != targetValue)
{
num = Math.DivRem(targetValue - displayAmount, 3, out var result);
if (result != 0)
{
num += Math.Sign(result);
}
if (num > 0)
{
if (coinSoundCooldown <= 0f)
{
coinSoundCooldown = 0.025f;
Util.PlaySound(sound, RoR2Application.instance.gameObject);
}
if ((bool)flashPanel)
{
flashPanel.Flash();
}
}
displayAmount += num;
}
float num2 = Mathf.Min(0.5f / (float)num, 0.25f);
targetText.text = TextSerialization.ToStringNumeric(displayAmount);
updateTimer = num2;
}
updateTimer -= Time.deltaTime;
}
}