void CreateTree() { EnvTree et = Instantiate(tree_prefab); EnvManager.EnvPreset ep = SC.env.current_level_env_preset; et.GetComponent <SpriteRenderer>().color = Color.Lerp(ep.tree_bark[0], ep.tree_bark[1], Random.Range(0f, 1f)); ParticleSystem.MainModule mm = et.GetComponentInChildren <ParticleSystem>().main; mm.startColor = new ParticleSystem.MinMaxGradient(ep.tree_crown[0], ep.tree_crown[1]); Vector3 pos = Vector3.zero; pos.x = cam_x + (EnvTree.destroy_distance - 10f) * (cam_x > last_x_generated ? 1 : -1); et.transform.position = pos; et.transform.SetParent(transform); pos = et.transform.localPosition; pos.y = Random.Range(-1f, 1f); et.transform.localPosition = pos; et.transform.localScale = Vector3.one * Random.Range(.6f, .8f) * cam_multiplier; et.transform.localRotation = Quaternion.Euler(Vector3.back * Random.Range(-15f, 15f)); last_x_generated = cam_x; et.Initialize(); }
public void InitEnv() { List <EnvParalax> pars = new List <EnvParalax>(GetComponentsInChildren <EnvParalax>()); EnvManager.EnvPreset ep = SC.env.current_level_env_preset; foreach (EnvParalax p in pars) { if (p.name.Contains("grass")) { SetPSColors(p, ep.grass); } if (p.name.Contains("clouds")) { SetPSColors(p, ep.clouds); } if (p.name.Contains("bushes")) { SetPSColors(p, ep.bush); } if (p.name.Contains("ground")) { SetSRColor(p, ep.ground); } if (p.name.Contains("mountains")) { SetSRColorMulti(p, ep.mountain); } } pars.ForEach(p => p.Initialize()); }
public void Initialize() { EnvManager.EnvPreset ep = SC.env.current_level_env_preset; light_intensity = ep.light_intensity; light_color = ep.light; sky_color = ep.sky; }