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); } }
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; }