临时背包bug

back_recharge
jiahuiwen 2019-03-26 20:45:25 +08:00
parent ea458568c5
commit d272ad0ea1
2 changed files with 22 additions and 7 deletions

View File

@ -455,7 +455,12 @@ public class MapLogic {
}
}
}
CommonProto.Drop.Builder dropBuilder = ItemUtil.drop(user, sOptionConfig.getReward(), 1, 1);
String key = RedisKey.getKey(RedisKey.FIGHT, user.getId() , false);
Map<Object , Object> valueMap = RedisUtil.getInstence().hmget(key);
CommonProto.Drop.Builder dropBuilder = null;
if (valueMap == null) {
dropBuilder = ItemUtil.drop(user, sOptionConfig.getReward(), 1, 1);
}
List<CommonProto.EventBehaviorValues> eventBehaviorValuesList = new ArrayList<>();
for (int i = 0; i < sOptionConfig.getBehaviorTypeValues().length; i++) {
CommonProto.EventBehaviorValues.Builder eventBehaviorValues = CommonProto.EventBehaviorValues

View File

@ -240,6 +240,9 @@ public class ItemUtil {
* @throws Exception
*/
public static void addItem(User user, Map<Integer, Integer> itemMap,CommonProto.Drop.Builder dropBuilder) throws Exception {
if (itemMap.isEmpty()) {
return;
}
List<CommonProto.Item> itemProtoList = new CopyOnWriteArrayList<>();
ItemManager itemManager = user.getItemManager();
for (Map.Entry<Integer, Integer> entry : itemMap.entrySet()) {
@ -272,11 +275,11 @@ public class ItemUtil {
public static void addItemToTemporaryBag(User user, Map<Integer, Integer> itemMap,CommonProto.Drop.Builder dropBuilder) throws Exception {
List<CommonProto.Item> itemProtoList = new CopyOnWriteArrayList<>();
MapManager mapManager = user.getMapManager();
if (mapManager.getTemporaryItems() == null) {
TemporaryItems temporaryItems = new TemporaryItems();
mapManager.setTemporaryItems(temporaryItems);
TemporaryItems temporaryItems = mapManager.getTemporaryItems();
if (temporaryItems == null) {
temporaryItems = new TemporaryItems();
}
Map<Integer, Item> items = mapManager.getTemporaryItems().items;
Map<Integer, Item> items = temporaryItems.items;
for (Map.Entry<Integer, Integer> entry : itemMap.entrySet()) {
SItem sItem = SItem.getsItemMap().get (entry.getKey());
if (sItem == null){
@ -291,6 +294,7 @@ public class ItemUtil {
}
itemProtoList.add(CBean2Proto.getItem(item));
}
mapManager.setTemporaryItems(temporaryItems);
if (dropBuilder != null) {
dropBuilder.addAllItemlist(itemProtoList);
}
@ -318,11 +322,11 @@ public class ItemUtil {
continue;
}
Item item = itemMap.get(entry.getKey());
Item temporaryItem = entry.getValue();
if (item != null) {
Item temporaryItem = entry.getValue();
item.setItemNum(item.getItemNum() + temporaryItem.getItemNum());
} else {
item = entry.getValue();
item = user.getItemManager().newItem(temporaryItem.getItemId(), temporaryItem.getItemNum());
}
itemMap.put(entry.getKey(), item) ;
}
@ -385,6 +389,9 @@ public class ItemUtil {
* @param dropBuilder
*/
private static void addEquip(User user, Map<Integer, Integer> equipMap, CommonProto.Drop.Builder dropBuilder) throws Exception {
if (equipMap.isEmpty()) {
return;
}
List<CommonProto.Equip> equipList = new CopyOnWriteArrayList<>();
for (Map.Entry<Integer, Integer> entry : equipMap.entrySet()) {
int count = entry.getValue();
@ -409,6 +416,9 @@ public class ItemUtil {
* @throws Exception
*/
public static void addCard(User user,Map<Integer,Integer> cardMap,CommonProto.Drop.Builder dropBuilder) throws Exception {
if (cardMap.isEmpty()) {
return;
}
List<CommonProto.Hero> heroList = new CopyOnWriteArrayList<>();
for (Map.Entry<Integer, Integer> entry : cardMap.entrySet()) {
int count = entry.getValue();