예제 #1
0
  // 容错过期时间(单写一方法在此调用)
  public static void checkGoodsExpiredTime(RoleGoods roleGoods) {
    try {
      GoodsBase goodsBase = GameContext.getGoodsApp().getGoodsBase(roleGoods.getGoodsId());
      if (null == goodsBase) {
        return;
      }
      if (goodsBase.isForever()) {
        return;
      }

      int bagType = roleGoods.getStorageType();
      boolean on = bagType == StorageType.hero.getType();

      boolean mustActive =
          (goodsBase.getActivateType() == 1) || (goodsBase.getActivateType() == 0 && on);
      if (mustActive) {
        if (!Util.isEmpty(roleGoods.getExpiredTime())) {
          return;
        }
        Date endDate = DateUtil.add(new Date(), Calendar.MINUTE, goodsBase.getDeadline());
        roleGoods.setExpiredTime(endDate);
        return;
      }
      if (roleGoods.getDeadline() > 0) {
        return;
      }
      roleGoods.setDeadline(goodsBase.getDeadline());
    } catch (Exception e) {
      e.printStackTrace();
    }
  }