示例#1
0
 /**
  * Removes from db characters that should be deleted (their deletion time has passed).
  *
  * @param account
  */
 private static void removeDeletedCharacters(Account account) {
   /* Removes chars that should be removed */
   Iterator<PlayerAccountData> it = account.iterator();
   while (it.hasNext()) {
     PlayerAccountData pad = it.next();
     Race race = pad.getPlayerCommonData().getRace();
     long deletionTime = ((long) pad.getDeletionTimeInSeconds()) * 1000;
     if (deletionTime != 0 && deletionTime <= System.currentTimeMillis()) {
       it.remove();
       account.decrementCountOf(race);
       PlayerService.deletePlayerFromDB(pad.getPlayerCommonData().getPlayerObjId());
       if (GSConfig.FACTIONS_RATIO_LIMITED
           && pad.getPlayerCommonData().getLevel() >= GSConfig.FACTIONS_RATIO_LEVEL) {
         if (account.getNumberOf(race) == 0) {
           GameServer.updateRatio(pad.getPlayerCommonData().getRace(), -1);
         }
       }
     }
   }
 }