Quantcast
Channel: Questions in topic: "playerprefs"
Viewing all articles
Browse latest Browse all 1333

Playerprefs across Scenes

$
0
0
Hello everyone, I am using playerprefs to save a single variable. I have several factors affecting this variable across several scenes. For instance, in scene a, script a is modifying the variable, but in scene b, script b is also modifying the variable. **However, for some reason, the variable does not save between scenes.** Does anyone have any troubleshooting advice? My scripts are below: (sorry for them being so long. I thought giving more info was better than giving less. If you need anything else, let me know.) using System.Collections; public class CarrotCount : MonoBehaviour { public float x; public float y; public float z; public float unknown; public int carrotnumber; // important void Start () { StartCoroutine (fiveseconds ()); carrotnumber = PlayerPrefs.GetInt ("carrotnumber", 10); Debug.Log (carrotnumber); } // public void PLUS1 () // { // Debug.Log ("Plus 1 carrot"); // carrotnumber += 1; // Debug.Log (carrotnumber); // PlayerPrefs.SetInt ("carrotnumber", carrotnumber); // // } void OnGUI () { GUI.Box (new Rect (x, y, z, unknown), "Carrots:"+ carrotnumber); } void Update () { //PlayerPrefs.SetInt ("carrotnumber", carrotnumber); // carrotnumber = PlayerPrefs.GetInt ("carrotnumber"); } IEnumerator fiveseconds () { yield return new WaitForSeconds (1) ; PlayerPrefs.SetInt ("carrotnumber", carrotnumber); PlayerPrefs.Save (); Debug.Log (carrotnumber); StartCoroutine (fiveseconds ()); } } script a: using System; using UnityEngine; using UnityEngine.Advertisements; public class test1 : MonoBehaviour { public int xdist = 10; public int ydis = 10; public CarrotCount _carrotcount; void Awake() { if (Advertisement.isSupported) { Advertisement.Initialize ("64925"); } else { Debug.Log("Platform not supported"); } } void OnGUI() { if(GUI.Button(new Rect(xdist, ydis, 85, 40), Advertisement.IsReady() ? "Free Carrots" : "Waiting...")) { // Show with default zone, pause engine and print result to debug log Advertisement.Show(null, new ShowOptions { resultCallback = result => { Debug.Log(result.ToString()); _carrotcount.carrotnumber += 5; } }); } } } script b: using UnityEngine; using System.Collections; public class Ifclicked : MonoBehaviour { public MoveCarrot _MoveCarrot; public CarrotCount _CarrotCount ; public string use; public killmole _killmole; GameObject carrotmaster; void Start () { // carrotmaster = GameObject.Find ("carrotmaster"); // CarrotCount _CarrotCount = (CarrotCount) carrotmaster.GetComponent (typeof(CarrotCount)); } void OnMouseDown () { _MoveCarrot.move (); _CarrotCount.carrotnumber += 1; } } Once again, thank you for the help.

Viewing all articles
Browse latest Browse all 1333

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>