- Home /
 
               Question by 
               OvharkaAras · Apr 03 at 07:49 AM · 
                shop  
              
 
              How to deduct money from another script when buying in Unity?
I am making a 2D game on Unity 2020.3.30f1 for android. I made a store using a tutorial from YouTube (script 2), now I don’t know how to do something when buying, the money is withdrawn from the money variable that is in my script (script 1). I'm a beginner, but probably in script 2 you need to get the money variable through PlayerPrefs and assign it to data.money and update moneyText? What should I do? Thank you in advance!
Script 1:
 using System.Collections;
  using System.Collections.Generic;
  using UnityEngine;
  using UnityEngine.UI;
  
  
  public class ShopAssist : MonoBehaviour
  {
      public int money;   //Money
      public Text moneyText;
      public bool isMulti = false;
  
      void Start()
      {
          money = PlayerPrefs.GetInt("Money");
      }
  
  
      void Update()
      {
          moneyText.text = money.ToString();
      }
  
      public void BuyMulti()
      {
          if (money >= 10 && isMulti == false)
          {
              isMulti = true;
              money -= 10;
              PlayerPrefs.SetInt("Money", money);
              PlayerPrefs.SetInt("isMulti", isMulti ? 1 : 0);
          }
      }
  
      public bool TryRemoveMoney(int moneyToRemove)
      {
          if (money >= moneyToRemove)
          {
              money -= moneyToRemove;
              return true;
          }
          else
          {
              return false;
          }
      }
  }
Script 2:
 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 using UnityEngine.UI;
 
 public class SelectCharacters : MonoBehaviour
 {
     SelectCharacters.Data data = new SelectCharacters.Data();
 
     private int i;
 
 
     public Text TextPrice;
 
     [System.Serializable]
     public class Data
     {
         public int money; //money
     }
 
     private void Start()
     {
         if (PlayerPrefs.HasKey("SaveGame"))
         {
             data = JsonUtility.FromJson<SelectCharacters.Data>(PlayerPrefs.GetString("SaveGame"));
         }
         else
         {
             data.money = 20; //data.money
             PlayerPrefs.SetString("SaveGame", JsonUtility.ToJson(data));
         }
 
         AllCharacters[i].SetActive(true);
 
     }
 }
               Comment
              
 
               
              Your answer
 
 
             Follow this Question
Related Questions
Using 2 arrays to change settings (ingame prices) 1 Answer
About playerprefs, character selector and shop 2 Answers
Unity Character Selection + store 1 Answer
In-Game Shop Problems 1 Answer
 koobas.hobune.stream
koobas.hobune.stream 
                       
                
                       
			     
			 
                