DanilaI

working clicker idle

Jul 3rd, 2023 (edited)
24
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.49 KB | None | 0 0
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UnityEngine.UI;
  5. using TMPro;
  6. using System.Numerics;
  7. using System;
  8.  
  9. public class Main : MonoBehaviour
  10. {
  11.     private const string MoneyKey = "PlayerMoney";
  12.     public Text moneyText;
  13.  
  14.     //public TMP_Text formattedMoney;
  15.    
  16.     public BigInteger playerMoney;
  17.  
  18.     private void Start()
  19.     {
  20.        
  21.         LoadPlayerMoney();
  22.         DisplayPlayerMoney();
  23.     }
  24.     void Update()
  25.     {
  26.         //moneyText = formattedMoney;
  27.         //moneyText.text = formattedMoney.ToString();
  28.         //moneyText = FormatMoney(playerMoney).ToString();
  29.  
  30.         //moneyText = playerMoney.ToString();
  31.         //oneyText = FormatMoney(playerMoney);
  32.  
  33.         //moneyText.text = playerMoney.ToString();
  34.        
  35.         DisplayPlayerMoney();
  36.     }
  37.     public void EarthClick()
  38.     {
  39.         playerMoney += 300000000;
  40.     }
  41.  
  42.     private void LoadPlayerMoney()
  43.     {
  44.         if (PlayerPrefs.HasKey(MoneyKey))
  45.         {
  46.             string moneyString = PlayerPrefs.GetString(MoneyKey);
  47.             BigInteger.TryParse(moneyString, out playerMoney);
  48.         }
  49.     }
  50.  
  51.     private void SavePlayerMoney()
  52.     {
  53.         string moneyString = playerMoney.ToString();
  54.         PlayerPrefs.SetString(MoneyKey, moneyString);
  55.         PlayerPrefs.Save();
  56.     }
  57.  
  58.     private string FormatMoney(BigInteger value)
  59.     {
  60.         if (value < 1000)
  61.         {
  62.             return value.ToString();
  63.         }
  64.         else if (value < 1000000)
  65.         {
  66.             return $"{value / 1000}K";
  67.         }
  68.         else if (value < 1000000000)
  69.         {
  70.             return $"{value / 1000000}M";
  71.         }
  72.         else
  73.         {
  74.             return $"{value / 1000000000}B";
  75.         }
  76.     }
  77.  
  78.     private void DisplayPlayerMoney()
  79.     {
  80.         //moneyText = FormatMoney(playerMoney);
  81.  
  82.         string formattedMoney = FormatMoney(playerMoney);
  83.         moneyText.text = formattedMoney.ToString();
  84.         Debug.Log($"Player money: {formattedMoney}");
  85.     }
  86.  
  87.     public void AddMoney(BigInteger amount)
  88.     {
  89.         playerMoney += amount;
  90.         SavePlayerMoney();
  91.         DisplayPlayerMoney();
  92.     }
  93.  
  94.     public void SubtractMoney(BigInteger amount)
  95.     {
  96.         if (playerMoney >= amount)
  97.         {
  98.             playerMoney -= amount;
  99.             SavePlayerMoney();
  100.             DisplayPlayerMoney();
  101.         }
  102.         else
  103.         {
  104.             Debug.Log("Insufficient funds!");
  105.         }
  106.     }
  107. }
  108.  
Advertisement
Add Comment
Please, Sign In to add comment