@Subscribe public void handleShipAttack(ShipAttackEvent event) { if (event.getAttackedShip().equals(ship)) { state.incAttackCounter(); } } }
@Subscribe public void handlePirateDefeated(ShipAttackEvent event) { INavigableVessel vessel = event.getAttackedShip(); INavigableVessel attackingShip = event.getAttackingShip(); updateReputationDueToPirateDefeat(vessel, attackingShip); } @Subscribe
/** * Handling ships attacks. * @param event of a ship attack */ @Subscribe public void handleShipAttack(ShipAttackEvent event) { IShipOwner attackedOwner = event.getAttackedShip().getOwner(); IShipOwner attackingOwner = event.getAttackingShip().getOwner(); if (attackedOwner != null && attackedOwner.equals(opponent) && attackingOwner != null && attackingOwner.equals(player)) { clientServerEventBus.unregister(this); if (order != null) { clientServerEventBus.unregister(order); } } }}
/** * Check if the destroyed ship was a pirate ship that belongs to an alderman task. * @param event ship attack */ public void checkPirateKilledAldermanTask(ShipAttackEvent event) { if (event.getAttackedShip().getOwner() instanceof ISeaPirate) { IAldermanOffice office = getAldermanOffice(); for (Iterator<IAcceptedAldermanTask> iterator = office.getWorkedOnTasks().iterator(); iterator.hasNext(); ) { IAcceptedAldermanTask task = iterator.next(); if (task.getTask() instanceof IHuntPirate) { IHuntPirate concreteTask = (IHuntPirate) task.getTask(); if (concreteTask.getPirate().equals(event.getAttackedShip().getOwner())) { if (date.getCurrentDate().isBefore(task.getDeadline())) { for (ICity iCity : map.getCities()) { iCity.getReputation(task.getPlayer()).update(15); } } iterator.remove(); } } } } }
/** * Handle the ships attak * @param event ship attack event */ @Subscribe public void handleShipAttack(ShipAttackEvent event) { if (deadline.isAfter(date.getCurrentDate())) { IShipOwner attackedOwner = event.getAttackedShip().getOwner(); IShipOwner attackingOwner = event.getAttackingShip().getOwner(); if (attackedOwner != null && attackedOwner.equals(opponent) && attackingOwner != null && attackingOwner.equals(player)) { execute(); unregisterEventBus(); } } else { destroy(); unregisterEventBus(); } } @Override