Beispiel #1
0
  /**
   * 创建一个新的格子对象数据
   *
   * <p>addOrUpdate 0表示添加 1表示是新增进来的 openNewGrid:(). <br>
   * TODO().<br>
   *
   * @author yxd
   * @return
   */
  public Item openNewGrid(
      Item temporaryItem1, int count, long roleId, EntityDAO dao, int addOrUpdate) {
    ItemData itemTemporaryData = new ItemData();
    // 根据模板编号创建新道具
    Item item = null;
    int itemDateCellIndex = -1;
    if (isHasNullCell() == -1) {
      itemDateCellIndex = index;
    } else {
      itemDateCellIndex = isHasNullCell();
    }
    long id = 0;
    if (temporaryItem1 instanceof EquitItem) { // 如果是装备
      EquitItem equitItem = (EquitItem) temporaryItem1;

      if (addOrUpdate == 0) { // 普通添加
        item = temporaryItem1;
        id = temporaryItem1.getId();
      } else if (addOrUpdate == 1) { // 超过格子添加
        item = ItemManage.createItem(equitItem.getProperty().getId());
        id = item.getId();
      }

      itemTemporaryData.setId(id);
      itemTemporaryData.setConfigId(equitItem.getProperty().getId());
      itemTemporaryData.setItemType(equitItem.getProperty().getBagClass());
      itemTemporaryData.setNumber(count);
      itemTemporaryData.setQuality(equitItem.getProperty().getQuality());
      itemTemporaryData.setIndexInBag(itemDateCellIndex);
      itemTemporaryData.setRoleId(roleId);
      // 设置装备的固有属性
      itemTemporaryData.setPos(-1); // 装备绑定位
      itemTemporaryData.setScore(equitItem.getScore()); // 初始化分数
      itemTemporaryData.setSocket(equitItem.getBornSocket()); // 初始化孔
      item.setItemData(itemTemporaryData);
      cells.get(itemDateCellIndex).setItem(item);
      if (isHasNullCell() == -1) {
        index++;
      }
      dao.saveOrUpdate(item.getItemData());

    } else if (temporaryItem1 instanceof CommonToolItem) { // 如果是普通道具
      CommonToolItem temporaryItem = (CommonToolItem) temporaryItem1;

      if (addOrUpdate == 0) { // 普通添加
        item = temporaryItem1;
        id = temporaryItem1.getId();
      } else if (addOrUpdate == 1) { // 超过格子添加
        item = ItemManage.createItem(temporaryItem.getProperty().getId());
        id = item.getId();
      }

      itemTemporaryData.setId(id);
      itemTemporaryData.setConfigId(temporaryItem.getProperty().getId());
      itemTemporaryData.setItemType(temporaryItem.getProperty().getBagClass());
      itemTemporaryData.setNumber(count);
      itemTemporaryData.setQuality(temporaryItem.getProperty().getQuality());
      itemTemporaryData.setIndexInBag(itemDateCellIndex);
      itemTemporaryData.setRoleId(roleId);
      item.setItemData(itemTemporaryData);
      cells.get(itemDateCellIndex).setItem(item);
      if (isHasNullCell() == -1) {
        index++;
      }
      dao.saveOrUpdate(item.getItemData());
    }

    return item;
  }