public void CheckCollide(Entities.PlayerShip ship)
        {
            var collb = ship.Collider.Collide(ship.X, ship.Y, (int)Global.HIT_TYPES.PICKUP);

            if (collb != null)
            {
                Entities.Pickup b = (Entities.Pickup)collb.Entity;
                b.OnPickup(ship);
                this.Pickups.Remove(b);
            }
        }
Exemple #2
0
        public void OnPickup(PlayerShip ship)
        {
            Utils.PlaySound(Assets.SOUND_EFFECTS_PICKUP_PICKUP);
            switch (this.PickupType)
            {
            case (Int16)PickupManager.PICKUPTYPES.UPGRADE_WEAPON_PRIMARY:
                ship.GetWeaponPrimary().Upgrade();
                break;

            case (Int16)PickupManager.PICKUPTYPES.AMMO_ROCKET:
                ship.GetWeaponSecondary().GiveAmmo(1);
                break;

            case (Int16)PickupManager.PICKUPTYPES.POWERUP_INV:
                ship.SetInvincible(true);
                break;

            case (Int16)PickupManager.PICKUPTYPES.POWERUP_HEALTH:
                ship.IncreaseHealth(20);
                break;

            case (Int16)PickupManager.PICKUPTYPES.POWERUP_LEVEL_UP:
                EnemyManager.GetInstance().KillAllEnemies();
                break;

            case (Int16)PickupManager.PICKUPTYPES.DEGRADE_WEAPON_PRIMARY:
                ship.GetWeaponPrimary().Degrade();
                break;

            case (Int16)PickupManager.PICKUPTYPES.AMMO_ROCKET_LOOSE:
                ship.GetWeaponSecondary().GiveAmmo(-1);
                break;

            case (Int16)PickupManager.PICKUPTYPES.DEGRADE_50HEALTH:
                ship.SetCurrentHealth(ship.GetHealthCurrent() * 0.50);
                break;

            case (Int16)PickupManager.PICKUPTYPES.UPGRADE_SPEED:
                ship.Speed += 0.2f;
                break;

            case (Int16)PickupManager.PICKUPTYPES.DEGRAGE_SPEED:
                ship.Speed -= 0.2f;
                break;

            case (Int16)PickupManager.PICKUPTYPES.POWERUP_PLAYER_SHIP:
                ship.Upgrade();
                break;
            }
            this.Destroy();
        }
 public Interface_Healthbar(float x, float y, PlayerShip ship)
     : base(x, y)
 {
     this.ship = ship;
 }