private void Start() { try { if (instance == null) { instance = this; } else { Destroy(gameObject); return; } terrainmanager = Singleton <TerrainManager> .instance; defaultstyle = new FireworkStyle(); LoadSaved(); if (!initialized) { initialized = true; FireworksUI.Init(); ExtractResources(); StartCoroutine(LoadResources()); } } catch (System.Exception ex) { LogErr("[startERR]" + ex.ToString() + " -|- " + ex.StackTrace); } }
FireworkControl CreateFirework(FireworkStyle style, FireworkControlMode mode, Vector3 startpoint, GameObject prefab) { if (prefab == null) { LogErr("prefab not loaded"); return(null); } GameObject newparticle = Instantiate(prefab); newparticle.transform.position = startpoint; ParticleSystem mainparticle = newparticle.GetComponent <ParticleSystem>(); ParticleSystem.MainModule mainm = mainparticle.main; mainm.startSpeed = new ParticleSystem.MinMaxCurve(style.vmin, style.vmax); mainm.startColor = new ParticleSystem.MinMaxGradient(style.color_from, style.color_to); mainm.startLifetime = new ParticleSystem.MinMaxCurve(style.vmin / 9.81f, style.vmax / 9.81f); ParticleSystem.ShapeModule shapem = mainparticle.shape; shapem.angle = style.angle; ParticleSystem.SubEmittersModule subm = mainparticle.subEmitters; //if (subm.subEmittersCount != 0) //{ // ParticleSystem subparticle = subm.GetSubEmitterSystem(0); // ParticleSystem.MainModule submainm = subparticle.main; // submainm.startSpeed = new ParticleSystem.MinMaxCurve(style.exp_vel_from, style.exp_vel_to); //} FireworkControl.MulSize(mainparticle, style.mul_particle_size); FireworkControl.MulExpVel(mainparticle, style.mul_exp_vel, false, true); FireworkControl control = newparticle.AddComponent <FireworkControl>(); control.particle = mainparticle; control.mode = mode; return(control); //mainparticle.Play(); //Destroy(newparticle, 100); }