Error: Input string was not in the correct format - HELP!
I am creating an android game hill climb racing style. but I have a problem with the progress saving and and car upgrading.
using UnityEngine;
using System.Collections;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
public class MenuScript : MonoBehaviour {
public GameObject levelChanger;
public GameObject exitPanel;
public GameObject garagePanel;
public Image[] cars;
public Text coinText;
public Button[] bttns;
public Text[] carsText;
public string[] levels;
private char del = 'f';
public Button[] updateBttns;
saveToJson stj = new saveToJson();
private int carForT;
public GameObject ScrollPanel;
public GameObject JeepPanel;
public GameObject SportCarPanel;
public Button chooseJeepBttn;
public Button chooseSportCarBttn;
public GameObject JeepUpgradePanel;
public GameObject SportCarUpgradePanel;
public Button UpgradeJeepButton;
public Button UpgradeSportCarButton;
void Awake()
{
if (!PlayerPrefs.HasKey("sv"))
{
for (int i = 0; i < stj.t.Length; i++) stj.t[i] = "0f0f0";
string json = JsonUtility.ToJson(stj);
PlayerPrefs.SetString("sv", json);
}
else
{
stj = JsonUtility.FromJson<saveToJson>(PlayerPrefs.GetString("sv"));
for (int i = 0; i < stj.lvls.Length; i++) if (stj.lvls[i] == 3) { bttns[i].interactable = true; carsText[i].gameObject.SetActive(false); }
if (data.gameStarted) data.dat(stj.coins, stj.car, stj.t, stj.lvls);
}
}
void Start()
{
cars[data.car].color = Color.white;
}
void Update()
{
if (garagePanel.activeSelf == true && Input.GetKeyDown(KeyCode.Escape))
{
garagePanel.SetActive(false);
}
else if (levelChanger.activeSelf == true && Input.GetKeyDown(KeyCode.Escape))
{
levelChanger.SetActive(false);
}
else if (exitPanel.activeSelf == false && Input.GetKeyDown(KeyCode.Escape))
{
exitPanel.SetActive(true);
}
else if (Input.GetKeyDown(KeyCode.Escape))
{
exitPanel.SetActive(false);
}
coinText.text = PlayerPrefs.GetInt("coins").ToString();
}
public void OnClickExitExit()
{
exitPanel.SetActive(false);
}
public void OnClickExitPanel()
{
exitPanel.SetActive(true);
}
public void OnClickExitGaragePanel()
{
garagePanel.SetActive(false);
}
public void OnClickExitScrollPanel()
{
ScrollPanel.SetActive(false);
}
public void OpenJeepUpgrade()
{
JeepUpgradePanel.SetActive(true);
}
public void OpenSportCarUpgrade()
{
SportCarUpgradePanel.SetActive (true);
}
public void closeJeepUpgrader(){
JeepUpgradePanel.SetActive (false);
}
public void closeSportCarUpgrader(){
SportCarUpgradePanel.SetActive (false);
}
public void OnClickStart()
{
levelChanger.SetActive(true);
}
public void OnClickExit()
{
Application.Quit();
}
public void levelBttns(int level)
{
data.gameStarted = false;
SceneManager.LoadScene(level);
}
public void carChanger(int car)
{
data.car = car;
for (int c = 0; c < cars.Length; c++)
{
cars[c].color = Color.white;
cars[car].color = Color.white;
}
}
public void carTuning(int carPart)
{
string[] carforT = data.t[carForT].Split(del);
int updateState = int.Parse(carforT[carPart]) + 1;
if (updateState <= 3 && 5 * updateState <= data.coins)
{
carforT[carPart] = updateState.ToString();
data.t[carForT] = carforT[0] + "f" + carforT[1] + "f" + carforT[2];
data.coins -= 5 * updateState;
}
if (int.Parse(carforT[carPart]) == 3 || stj.coins < 5 * updateState)
{
updateBttns[carPart].interactable = false;
}
print(data.t[carForT]);
}
public void carForTun(int car)
{
carForT = car;
}
void OnApplicationQuit()
{
stj.dat(data.coins,data.car,data.t,data.lvls);
string json = JsonUtility.ToJson(stj);
PlayerPrefs.SetString("sv", json);
}
}
public class saveToJson
{
public int coins = 0,car = 0;
public string[] t = new string[3];
public int[] lvls = new int[2];
public void dat(int coins, int car, string[] t, int[] lvls)
{
this.coins = coins;
this.car = car;
this.t = t;
this.lvls = lvls;
}
}
public static class data
{
public static int coins = 0, car = 0;
public static string[] t = new string[3];
public static int[] lvls = new int[2];
public static bool gameStarted = true;
public static void dat(int coins,int car, string[] t,int[] lvls)
{
data.coins = coins;
data.car = car;
data.t = t;
data.lvls = lvls;
}
}
снимок-экрана-5.png
(280.8 kB)
Comment