Search in sources :

Example 1 with AbstractWeapon

use of spacesettlers.objects.weapons.AbstractWeapon in project spacesettlers by amymcgovern.

the class Toroidal2DPhysics method handlePowerup.

/**
 * Handle power ups for the specified object
 * @param swobject
 * @param spacewarPowerup
 */
private void handlePowerup(AbstractActionableObject swobject, SpaceSettlersPowerupEnum spacewarPowerup) {
    switch(spacewarPowerup) {
        case FIRE_MISSILE:
            Ship ship = (Ship) swobject;
            AbstractWeapon weapon = ship.getNewWeapon(SpaceSettlersPowerupEnum.FIRE_MISSILE);
            if (weapon != null && weapon.isValidWeapon(ship)) {
                addObject(weapon);
                weapon.setFiringShip(ship);
                weapon.applyPowerup(ship);
            }
            break;
        case FIRE_EMP:
            ship = (Ship) swobject;
            weapon = ship.getNewWeapon(SpaceSettlersPowerupEnum.FIRE_EMP);
            if (weapon != null && weapon.isValidWeapon(ship)) {
                addObject(weapon);
                weapon.setFiringShip(ship);
                weapon.applyPowerup(ship);
            }
            break;
        case TOGGLE_SHIELD:
            PowerupToggleShield toggle = new PowerupToggleShield();
            toggle.applyPowerup(swobject);
            break;
        case DOUBLE_WEAPON_CAPACITY:
            PowerupDoubleWeapon weaponDoubler = new PowerupDoubleWeapon();
            weaponDoubler.applyPowerup(swobject);
            break;
        case DOUBLE_BASE_HEALING_SPEED:
            PowerupDoubleHealingBaseEnergy baseDoubler = new PowerupDoubleHealingBaseEnergy();
            baseDoubler.applyPowerup(swobject);
            break;
        case DOUBLE_MAX_ENERGY:
            PowerupDoubleMaxEnergy maxEnergyDoubler = new PowerupDoubleMaxEnergy();
            maxEnergyDoubler.applyPowerup(swobject);
            break;
        case FIRE_HEAT_SEEKING_MISSILE:
            break;
        case FIRE_TURRET:
            break;
        case LAY_MINE:
            break;
        default:
            break;
    }
}
Also used : PowerupDoubleHealingBaseEnergy(spacesettlers.objects.powerups.PowerupDoubleHealingBaseEnergy) PowerupDoubleWeapon(spacesettlers.objects.powerups.PowerupDoubleWeapon) Ship(spacesettlers.objects.Ship) PowerupToggleShield(spacesettlers.objects.powerups.PowerupToggleShield) AbstractWeapon(spacesettlers.objects.weapons.AbstractWeapon) PowerupDoubleMaxEnergy(spacesettlers.objects.powerups.PowerupDoubleMaxEnergy)

Aggregations

Ship (spacesettlers.objects.Ship)1 PowerupDoubleHealingBaseEnergy (spacesettlers.objects.powerups.PowerupDoubleHealingBaseEnergy)1 PowerupDoubleMaxEnergy (spacesettlers.objects.powerups.PowerupDoubleMaxEnergy)1 PowerupDoubleWeapon (spacesettlers.objects.powerups.PowerupDoubleWeapon)1 PowerupToggleShield (spacesettlers.objects.powerups.PowerupToggleShield)1 AbstractWeapon (spacesettlers.objects.weapons.AbstractWeapon)1