Пример #1
0
    private void Save()
    {
        //Reset material smoothness
        SetSmoothness(0f, 0f);

        BinaryFormatter bf = new BinaryFormatter();

        RainSave   save = new RainSave(isRaining, nextCycle, currentCycleTime);
        FileStream file = File.Create(Application.persistentDataPath + "/Rain");

        bf.Serialize(file, save);
        file.Close();
    }
Пример #2
0
    // Start is called before the first frame update
    public void Setup()
    {
        mat = FindObjectOfType <Terrain>().materialTemplate;
        if (!rainParticles)
        {
            rainParticles = FindObjectOfType <ParticleSystem>();
        }
        if (!player)
        {
            player = FindObjectOfType <Camera>();
        }

        if (File.Exists(Application.persistentDataPath + "/Rain"))
        {
            BinaryFormatter bf = new BinaryFormatter();

            FileStream file = File.Open(Application.persistentDataPath + "/Rain", FileMode.Open);
            RainSave   save = (RainSave)bf.Deserialize(file);
            file.Close();

            Debug.Log("Nya");

            isRaining        = save.isRaining;
            nextCycle        = save.nextCycle;
            currentCycleTime = save.currentCycleTime;

            if (isRaining)
            {
                SetSmoothness(0.45f, 0.45f);
                rainParticles.Play();
            }
            else
            {
                SetSmoothness(0f, 0f);
                rainParticles.Stop();
            }
        }

        else
        {
            int rain = Random.Range(0, 2);
            //Set current state of rain
            if (rain == 1)
            {
                isRaining = true;
                SetSmoothness(0.45f, 0.45f);
                rainParticles.Play();
            }
            else
            {
                isRaining = false;
                SetSmoothness(0f, 0f);
                rainParticles.Stop();
            }

            nextCycle        = Random.Range(100, 500);
            currentCycleTime = 0;
        }

        Vector3 pos = new Vector3(player.transform.position.x, rainParticles.transform.position.y, player.transform.position.z);

        rainParticles.transform.position = pos;

        cycleChange = false;
        setupDone   = true;
    }