Esempio n. 1
0
 public void addItems(
     Player player, List<Item> items, String title, String notice, Reasons reasons, long action) {
   List<Item> tmp = new ArrayList<Item>();
   List<Item> special = new ArrayList<Item>();
   tmp.addAll(items);
   while (tmp.iterator().hasNext()) {
     Item item = (Item) tmp.iterator().next();
     if (item.getItemModelId() < 0) {
       tmp.iterator().remove();
       special.add(item);
     }
   }
   boolean tag = true;
   for (Item item : special) {
     // -1金币,-2钻石,-3经验,-4真气  -5绑定钻石
     switch (item.getItemModelId()) {
       case -1:
         if (player.getMoney() + item.getNum() > Global.BAG_MAX_COPPER) tag = false;
         break;
         //			case -2:
         //				if(player.getGold()!=null&&player.getGold().getGold()+item.getNum() >
         // Global.BAG_MAX_GOLD)tag=false;
         //				break;
       case -3:
         if (PlayerManager.getInstance().isTopLevel(player)) tag = false;
         break;
       case -4:
         if (PlayerManager.getInstance().isFullZq(player)) tag = false;
         break;
       case -5:
         if (player.getBindGold() + item.getNum() > Global.BAG_MAX_GOLD) tag = false;
         break;
     }
   }
   if (!BackpackManager.getInstance().hasAddSpace(player, tmp)) {
     tag = false;
   }
   if (tag) {
     for (Item item : special) {
       // -1金币,-2钻石,-3经验,-4真气  -5绑定钻石
       switch (item.getItemModelId()) {
         case -1:
           BackpackManager.getInstance().changeMoney(player, item.getNum(), reasons, action);
           break;
           //				case -2:
           //					BackpackManager.getInstance().addGold(player, item.getNum(), reasons, action);
           //					break;
         case -3:
           PlayerManager.getInstance().addExp(player, item.getNum(), AttributeChangeReason.MAIL);
           break;
         case -4:
           PlayerManager.getInstance()
               .addZhenqi(player, item.getNum(), AttributeChangeReason.MAIL);
           break;
         case -5:
           BackpackManager.getInstance().changeBindGold(player, item.getNum(), reasons, action);
           break;
       }
     }
   } else {
     MailServerManager.getInstance()
         .sendSystemMail(player.getId(), player.getName(), title, notice, (byte) 0, 0, items);
   }
 }