public void PlanetPrefs() { int randomNumber; if (PlayerPrefs.HasKey("Planet")) { int[] saved = HelperConverter.IntFromString(PlayerPrefs.GetString("Planet")); polution = PlayerPrefs.GetFloat("Polution"); maxPolution = saved[0]; planetColors[0] = HelperConverter.ColorFromInt(saved[1]); planetColors[1] = HelperConverter.ColorFromInt(saved[2]); planetColors[2] = HelperConverter.ColorFromInt(saved[3]); planetColors[3] = HelperConverter.ColorFromInt(saved[4]); planetColors[4] = HelperConverter.ColorFromInt(saved[5]); randomNumber = saved[6]; for (int i = 0; i < randomNumber; i++) { GameObject go = Instantiate(allPockets[saved[7 + (i * 3)]].gameObject); go.transform.parent = transform.GetChild(1); go.transform.localPosition = new Vector3(0, 0, -0.01f); go.transform.localScale = (Vector3.one / 10) * 3; go.GetComponent <Pocket>().angle = saved[8 + (i * 3)]; go.GetComponent <Pocket>().planetID = i; go.GetComponent <Pocket>().maxAmount = saved[9 + (i * 3)]; planetPockets.Add(go.GetComponent <Pocket>()); } } else { polution = Random.Range(5, 100); maxPolution = Random.Range(1000, 2000); randomNumber = Random.Range(4, 6); string save = maxPolution.ToString(); save = HelperConverter.AddStringFromInt(save, HelperConverter.IntFromColor(planetColors[0])); save = HelperConverter.AddStringFromInt(save, HelperConverter.IntFromColor(planetColors[1])); save = HelperConverter.AddStringFromInt(save, HelperConverter.IntFromColor(planetColors[2])); save = HelperConverter.AddStringFromInt(save, HelperConverter.IntFromColor(planetColors[3])); save = HelperConverter.AddStringFromInt(save, HelperConverter.IntFromColor(planetColors[4])); save = HelperConverter.AddStringFromInt(save, randomNumber); for (int i = 0; i < randomNumber; i++) { GameObject go = Instantiate(allPockets[Random.Range(0, allPockets.Length)].gameObject); go.transform.parent = transform.GetChild(1); go.transform.localPosition = new Vector3(0, 0, -0.01f); go.transform.localScale = (Vector3.one / 10) * 3; go.GetComponent <Pocket>().angle = i * (360 / randomNumber) + (Random.Range(-15, 15)); go.GetComponent <Pocket>().planetID = i; go.GetComponent <Pocket>().maxAmount = Random.Range(1000, 2000); go.GetComponent <Pocket>().amount = go.GetComponent <Pocket>().maxAmount; planetPockets.Add(go.GetComponent <Pocket>()); save = HelperConverter.AddStringFromInt(save, go.GetComponent <Pocket>().ID); save = HelperConverter.AddStringFromInt(save, (int)go.GetComponent <Pocket>().angle); save = HelperConverter.AddStringFromInt(save, (int)go.GetComponent <Pocket>().maxAmount); } PlayerPrefs.SetString("Planet", save); PlayerPrefs.Save(); } planetOutside.GetComponent <MeshRenderer>().material.color = planetColors[0]; planetInner.GetComponent <MeshRenderer>().material.color = planetColors[3]; planetCore.GetComponent <MeshRenderer>().material.color = planetColors[4]; }