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

PlayerPrefs issue with my code.

$
0
0
I started to mess with PlayerPrefs and from what have read on unity scripting guide this is what I came up with. The script below in attaced to my main camera in the char creation scene. using UnityEngine; using System.Collections; public class HudDisplay : MonoBehaviour { public float myFloat = 0.0f; public GUIStyle myGUIStyle; // Use this for initialization void Start () { myFloat = PlayerPrefs.GetFloat ("lanistaGold"); } void OnGUI() { GUI.Label (new Rect (50, 0, 50, 25), myFloat.ToString(), myGUIStyle); } } This script is attachecd to my game manager object in the gameplay scene. using UnityEngine; using System.Collections; public class CharCreation : MonoBehaviour { public string lanistaName = ""; public string lanistaAge = ""; public GUIStyle myGUIStyle; public float lanistaPoints = 10; public float charismaPoints = 15; public float favorOfGodsPoints = 15; public float lanistaGold = 1000; void OnGUI() { //............................................................................................................................................... GUI.Label(new Rect (275, 420, 200, 50), "Gold", myGUIStyle); GUI.Label(new Rect (485, 420, 50, 50), lanistaGold.ToString(), myGUIStyle); if (GUI.Button (new Rect (550, 420, 100, 50), "+")) { if (lanistaPoints >= 1) { lanistaGold += 100f; lanistaPoints -= 1f; PlayerPrefs.SetFloat("lanistaGold", lanistaGold); } } if (GUI.Button (new Rect (675, 420, 100, 50),"-")) { if(lanistaGold >=1100) { lanistaGold -= 100f; lanistaPoints += 1f; PlayerPrefs.SetFloat("lanistaGold", lanistaGold); } } //................................................................................................................................................. } } This Script is what the PlayerPrefs is getting its info from. Now my issue is when I change the value of lanistagold in my creation screen and load up the game play level the number does display like I want it. But If I reload the game and don't change the value with the button then when I load the game level its same as before. For example: I use 1 lanista point to give me 100 more gold so then I get 1100 gold. I load level and it displays 1100. I restart game. I use no points and leave it at the default value and load level. It still displays 1100. **Further Testing** It seems I have to hit either the + or - button for the script to update. even if I close the game and restart it the script is still saving the last amount of gold that was set.

Viewing all articles
Browse latest Browse all 1333

Trending Articles



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