public static void particle_kill(int p) { //try { particle[] lower, upper; lower = new particle[p]; upper = new particle[particles.Length - (p + 1)]; for (int i = 0; i != lower.Length; i++) { lower[i] = particles[i]; } for (int i = p + 1; i != particles.Length; i++) { upper[i - (p + 1)] = particles[i]; } particles = new particle[particles.Length - 1]; for (int i = 0; i != particles.Length; i++) { if (i < lower.Length) { particles[i] = lower[i]; } else { particles[i] = upper[i - lower.Length]; } } } //catch { } }
public static void particle_create(Vector3 pos, Vector3 velo, Texture2D tex, float friction, int sizeInit, int sizeMax, int life, bool Grow, bool Shrink, bool Fade, particleType ptype) { particle New = new particle(pos, velo, tex, friction, sizeInit, sizeMax, life, Grow, Shrink, Fade, ptype); if(particles != null && particles.Length !=0) { particle[] old = particles; particles = new particle[old.Length + 1]; for (int i = 0; i != old.Length; i++) { particles[i] = old[i]; } particles[old.Length] = New; } else { particles = new particle[1]; particles[0] = New; } }
public static void particle_create(particle Particle) { particle New = Particle; if(particles != null && particles.Length !=0) { particle[] old = particles; particles = new particle[old.Length + 1]; for (int i = 0; i != old.Length; i++) { particles[i] = old[i]; } particles[old.Length] = New; } else { particles = new particle[1]; particles[0] = New; } }
public static void LoadAndInit(ContentManager Content) { #region BloodEffects TempTex = load_content.LoadParticles(Content, "blood_spray"); blood_spray = new particle[TempTex.Length]; for (int i = 0; i != TempTex.Length; i++) { blood_spray[i] = new particle(Vector3.Zero, Vector3.Zero, TempTex[i], .99f, .5f, 1.5f, 100, true, false, true, particleType.blood); } TempTex = load_content.LoadParticles(Content, "blood_splash"); blood_splash = new particle[TempTex.Length]; for (int i = 0; i != TempTex.Length; i++) { blood_splash[i] = new particle(Vector3.Zero, Vector3.Zero, TempTex[i], .99f, 0, 1.5f, 10, true, false, true, particleType.smoke); } TempTex = load_content.LoadParticles(Content, "blood_spurt"); blood_spurt = new particle[TempTex.Length]; for (int i = 0; i != TempTex.Length; i++) { blood_spurt[i] = new particle(Vector3.Zero, Vector3.Zero, TempTex[i], .99f, 0, 1.5f, 10, true, false, true, particleType.smoke); } TempTex = load_content.LoadParticles(Content, "blood_puddle"); blood_puddle = new particle[TempTex.Length]; for (int i = 0; i != TempTex.Length; i++) { blood_puddle[i] = new particle(Vector3.Zero, Vector3.Zero, TempTex[i], .99f, 0, 1, 20, true, false, true, particleType.smoke); } TempTex = load_content.LoadParticles(Content, "blood_puddle_wall"); blood_puddle_wall = new particle[TempTex.Length]; for (int i = 0; i != TempTex.Length; i++) { blood_puddle_wall[i] = new particle(Vector3.Zero, Vector3.Zero, TempTex[i], .99f, 0, 1, 20, true, false, true, particleType.smoke); } TempTex = load_content.LoadParticles(Content, "gibs"); gib = new particle[TempTex.Length]; for (int i = 0; i != TempTex.Length; i++) { gib[i] = new particle(Vector3.Zero, Vector3.Zero, TempTex[i], .99f, 1, 1, 200, false, false, false, particleType.gib); } #endregion #region SpentShells TempTex = load_content.LoadParticles(Content, "spent_shells_ar"); shell_ar = new particle[TempTex.Length]; for (int i = 0; i != TempTex.Length; i++) { shell_ar[i] = new particle(Vector3.Zero, Vector3.Zero, TempTex[i], .99f, -1, -1, 300, false, false, false, particleType.shell); } TempTex = load_content.LoadParticles(Content, "spent_shells_pistol"); shell_pistol = new particle[TempTex.Length]; for (int i = 0; i != TempTex.Length; i++) { shell_pistol[i] = new particle(Vector3.Zero, Vector3.Zero, TempTex[i], .99f, -1, -1, 300, false, false, false, particleType.shell); } TempTex = load_content.LoadParticles(Content, "spent_shells_shotgun"); shell_shotgun = new particle[TempTex.Length]; for (int i = 0; i != TempTex.Length; i++) { shell_shotgun[i] = new particle(Vector3.Zero, Vector3.Zero, TempTex[i], .99f, -1, -1, 300, false, false, false, particleType.shell); } #endregion #region SmokeEffects TempTex = load_content.LoadParticles(Content, "local_smoke"); smoke_local = new particle[TempTex.Length]; for (int i = 0; i != TempTex.Length; i++) { smoke_local[i] = new particle(Vector3.Zero, Vector3.Zero, TempTex[i], .99f, 0, 2.5f, 100, true, false, true, particleType.smoke); } TempTex = load_content.LoadParticles(Content, "ambient_smoke"); smoke_ambi = new particle[TempTex.Length]; for (int i = 0; i != TempTex.Length; i++) { smoke_ambi[i] = new particle(Vector3.Zero, Vector3.Zero, TempTex[i], .99f, 0, 2.5f, 200, true, false, true, particleType.smoke); #endregion } }