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(); }
// 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; }