< Summary

Class:ManaCounterView
Assembly:ProfileHUD
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/HUD/ProfileHUD/ManaCounterView.cs
Covered lines:0
Uncovered lines:20
Coverable lines:20
Total lines:62
Line coverage:0% (0 of 20)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
SetBalance(...)0%6200%
SetBalance(...)0%2100%
FormatBalanceToString(...)0%72800%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/HUD/ProfileHUD/ManaCounterView.cs

#LineLine coverage
 1using System.Globalization;
 2using TMPro;
 3using UnityEngine;
 4using UnityEngine.UI;
 5
 6/// <summary>
 7/// ProfileHUD sub-view that shows the user MANA balance.
 8/// </summary>
 9internal class ManaCounterView : MonoBehaviour
 10{
 11    [SerializeField] internal TextMeshProUGUI balanceText;
 12    [SerializeField] internal Button_OnPointerDown buttonManaInfo;
 13    [SerializeField] internal Button buttonManaPurchase;
 14
 15    /// <summary>
 16    /// Set the amount of MANA in the HUD.
 17    /// </summary>
 18    /// <param name="balance">Amount of MANA.</param>
 19    public void SetBalance(string balance)
 20    {
 021        double manaBalance = 0;
 22
 023        if (double.TryParse(balance, NumberStyles.Number, CultureInfo.InvariantCulture, out manaBalance))
 024            SetBalance(manaBalance);
 025    }
 26
 027    public void SetBalance(double balance) { balanceText.text = FormatBalanceToString(balance); }
 28
 29    private string FormatBalanceToString(double balance)
 30    {
 031        if (balance >= 100000000)
 32        {
 033            return (balance / 1000000D).ToString("0.#M");
 34        }
 035        if (balance >= 1000000)
 36        {
 037            return (balance / 1000000D).ToString("0.##M");
 38        }
 039        if (balance >= 100000)
 40        {
 041            return (balance / 1000D).ToString("0.#K");
 42        }
 043        if (balance >= 10000)
 44        {
 045            return (balance / 1000D).ToString("0.##K");
 46        }
 047        if (balance < 0.001)
 48        {
 049            return "0";
 50        }
 051        if (balance <= 1)
 52        {
 053            return balance.ToString("0.###");
 54        }
 055        if (balance < 100)
 56        {
 057            return balance.ToString("0.##");
 58        }
 59
 060        return balance.ToString("#,0");
 61    }
 62}