コード例 #1
0
    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];
    }