Advertisement
FlyingFrog

PlayerWallet

Feb 17th, 2024
621
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.09 KB | Gaming | 0 0
  1. using System;
  2. using UnityEngine;
  3.  
  4. public class PlayerWallet : MonoBehaviour
  5. {
  6.     private const string COINS_COUNT = "CoinsCount";
  7.     private int _coinsCount = 15;
  8.  
  9.     public int CoinsCount => _coinsCount;
  10.  
  11.     public Action CoinsAdded;
  12.  
  13.     private void Start()
  14.     {
  15.         if (PlayerPrefs.HasKey(COINS_COUNT))
  16.         {
  17.             _coinsCount = PlayerPrefs.GetInt(COINS_COUNT);
  18.             CoinsAdded?.Invoke();
  19.         }
  20.     }
  21.  
  22.     public bool TrySpendMoney(int spendAmount)
  23.     {
  24.         if (_coinsCount >= spendAmount)
  25.         {
  26.             _coinsCount -= spendAmount;
  27.             PlayerPrefs.SetInt(COINS_COUNT, _coinsCount);
  28.             PlayerPrefs.Save();
  29.             CoinsAdded?.Invoke();
  30.             return true;
  31.         }
  32.         else
  33.         {
  34.             return false;
  35.         }
  36.     }
  37.  
  38.     public void AddMoney(int addAmount)
  39.     {
  40.         if (addAmount > 0)
  41.         {
  42.             _coinsCount += addAmount;
  43.             PlayerPrefs.SetInt(COINS_COUNT, _coinsCount);
  44.             PlayerPrefs.Save();
  45.             CoinsAdded?.Invoke();
  46.         }
  47.     }
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement