示例#1
0
        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
            {

            }
        }
示例#2
0
        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;
            }
        }
示例#3
0
        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;
            }
        }
示例#4
0
        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
                }
        }