Example #1
0
        public void Hit(int dammage, ref List <Explosion> listExplose, List <ParticleEngine> particles, Sound sound, Map mapWorld, ContentManager Content, List <Vector2> explose)
        {
            if (hitable)
            {
                lifePoint -= dammage;
                if (lifePoint <= 0)
                {
                    bloque  = false;
                    draw    = false;
                    alive   = false;
                    hitable = false;

                    if (type == objectType.explosif)
                    {
                        listExplose.Add(new Explosion(position, map, particles, sound));
                    }
                    else if (type == objectType.caisse)
                    {
                        switch (contentIndex)
                        {
                        case 2:
                            mapWorld.Items.Add(new Item(new Texture2D[1] {
                                TexturesGame.bonusTab[0]
                            }, new Vector2(position.X, position.Y - 40), new Vector2(0, 0), true, Direction.right, new Vector2(30, 30), objectType.champi, 300));
                            break;

                        case 3:
                            mapWorld.Items.Add(new Item(new Texture2D[1] {
                                TexturesGame.bonusTab[1]
                            }, new Vector2(position.X, position.Y - 40), new Vector2(0, 0), true, Direction.stop, new Vector2(30, 30), objectType.vie, 300));
                            break;

                        case 4:
                            mapWorld.Items.Add(new Item(new Texture2D[1] {
                                TexturesGame.bonusTab[2]
                            }, new Vector2(position.X, position.Y - 40), new Vector2(0, 0), true, Direction.stop, new Vector2(30, 30), objectType.chargeur, 300));
                            break;

                        case 5:

                            Vehicule Hornet = new Vehicule(vehiculeType.Hornet, new Vector2(position.X, position.Y - 150), 2, 20, new Vector2(3, 3), Direction.stop, true, new Vector2(182, 120), TexturesGame.itemTab[0], 0);
                            Hornet.name = "Hornet";
                            Hornet.VehicleGun.Add(new Weapon(4000, "Others/Munitions/bullet", "AK47", 110, 0.1f, cadenceType.auto, 2500, 150, 150, 15, 120, Vector2.Zero, Vector2.Zero, "hornet_right", true, 0, Content, SoundsName.fusil, tirTypes.bullet, false, 2, 0));
                            Hornet.VehicleGun[0].weaponName = "Hornet Gun";
                            Hornet.VehicleGun.Add(new Weapon(4000, "Others/Munitions/rpgammo22", "AK47", 300, 0.05f, cadenceType.semiAuto, 500, 6, 6, 8, 200, Vector2.Zero, Vector2.Zero, "hornet_right", true, 0, Content, SoundsName.rocket, tirTypes.explosive, false, 2, 0));
                            Hornet.VehicleGun[1].weaponName = "Hornet Rocket";
                            mapWorld.itemList.Add(Hornet);
                            break;

                        case 6:
                            Vehicule Banshee = new Vehicule(vehiculeType.Banshee, new Vector2(position.X, position.Y - 150), 1, 20, new Vector2(3, 2), Direction.stop, true, new Vector2(147, 117), TexturesGame.itemTab[1], 0);
                            Banshee.name = "Banshee";
                            Banshee.VehicleGun.Add(LoadWeapons.LoadBansheeBomb(Content));
                            Banshee.VehicleGun.Add(LoadWeapons.LoadBansheeGun(Content));
                            mapWorld.itemList.Add(Banshee);
                            break;

                        case 7:
                            listExplose.Add(new Explosion(position, map, particles, sound));

                            break;

                        case 8:
                            mapWorld.Items.Add(new Item(new Texture2D[1] {
                                TexturesGame.bonusTab[3]
                            }, new Vector2(position.X, position.Y - 40), new Vector2(0, 0), true, Direction.right, new Vector2(30, 30), objectType.etoile, 300));
                            break;

                        case 9:
                            mapWorld.Items.Add(new Item(new Texture2D[1] {
                                TexturesGame.bonusTab[4]
                            }, new Vector2(position.X, position.Y - 40), new Vector2(0, 0), true, Direction.right, new Vector2(30, 30), objectType.UnlimitedAmmo, 300));
                            break;

                        case 10:
                            mapWorld.Items.Add(new Item(new Texture2D[1] {
                                TexturesGame.bonusTab[5]
                            }, new Vector2(position.X, position.Y - 40), new Vector2(0, 0), true, Direction.right, new Vector2(30, 30), objectType.attaqueUp, 300));
                            break;

                        case 11:
                            mapWorld.Items.Add(new Item(new Texture2D[1] {
                                TexturesGame.bonusTab[6]
                            }, new Vector2(position.X, position.Y - 40), new Vector2(0, 0), true, Direction.right, new Vector2(30, 30), objectType.defenseUp, 300));
                            break;

                        default:
                            break;
                        }
                    }
                    else
                    {
                        mapWorld.particleEngine.Add(new ParticleEngine(7, position + new Vector2(38, 38), new Vector2(0, 1), 5, TexturesGame.test[1], 60, 38, 0, 38, 0, 0.5f, false));
                        this.type = objectType.nothing;
                    }
                }
            }
        }