private void Awake() { meshParticle = GetComponent <MeshParticle>(); bulletsList = new List <SingleBullet>(); randomZValueArray = new int[] { randomZ, randomNegativeZ, }; }
void Awake() { // particles = new List<GameObject>(); ogScale = new Vector3(Particle.transform.localScale.x, Particle.transform.localScale.y, Particle.transform.localScale.z); if (!useGravity) { gravity = 0; } if (useRandomVelocity) { rVelocity = Vector3.zero; } if (particleType == ParticleType.Billboard) { billboardObject = new GameObject(); billboardObject.gameObject.name = "Billboard Particle"; ///// Particle transform setup ///// billboardObject.transform.rotation = Quaternion.identity; billboardObject.transform.position = Vector3.zero; billboardObject.transform.localScale = new Vector3(1, 1, 1); //////////////////////////////////// billboardObject.AddComponent <SpriteRenderer>(); billboardObject.GetComponent <SpriteRenderer>().sprite = particleSprite; } else if (particleType == ParticleType.MeshParticle) { if (!Particle.name.ToLower().Contains("particle")) { Particle.name = Particle.name + " Particle"; } } for (int iParticle = 0; iParticle < maxParticles; iParticle++) { if (particleType == ParticleType.MeshParticle) { particles.Add(Instantiate(particle)); try { if (particleMaterial != null) { particles[iParticle].GetComponent <Renderer>().material = particleMaterial; } } catch { } MeshParticle p = particles[iParticle].AddComponent <MeshParticle>(); p.Lifetime = Lifetime; p.PossibleVelocity = Velocity; p.RandomVelocity = rVelocity; p.UseRotation = useRotation; p.RotationSpeed = RotationSpeed; p.Gravity = gravity; if (useScaleOverLifetime) { p.UseScaleOverLife = true; p.ScaleOverLife = scaleGradient; } else { p.UseScaleOverLife = false; } } else if (particleType == ParticleType.Billboard) { particles.Add(Instantiate(billboardObject)); BillboardParticle p = particles[iParticle].AddComponent <BillboardParticle>(); p.Lifetime = Lifetime; p.PossibleVelocity = Velocity; p.RandomVelocity = rVelocity; p.Gravity = gravity; if (useRotation) { p.UseRotation = true; p.RotationSpeed = rotationSpeed.z; } if (ParticleColor != null) { p.ParticleColor = ParticleColor; } if (useScaleOverLifetime) { p.UseScaleOverLife = true; p.ScaleOverLife = scaleGradient; } else { p.UseScaleOverLife = false; } } particles[iParticle].hideFlags = HideFlags.HideInHierarchy; particles[iParticle].transform.SetParent(this.transform); particles[iParticle].SetActive(false); } Destroy(billboardObject); }
private void Awake() { meshParticle = GetComponent <MeshParticle>(); dirtList = new List <SingleDirt>(); }