back_recharge
jiahuiwen 2019-02-22 11:48:22 +08:00
commit a1385054a3
3 changed files with 52 additions and 16 deletions

View File

@ -1,4 +1,4 @@
package com.ljsd.jieling.logic.Mail;
package com.ljsd.jieling.logic.mail;
import com.ljsd.jieling.globals.Global;
import com.ljsd.jieling.logic.dao.*;
@ -166,7 +166,8 @@ public class MailLogic {
}else{
mailItem.append("|").append(mail.getMailItem());
}
mail.setState(Global.MAIL_DRAW_ST_GOT);
mailManager.addMail(mail);
}
int[][] itemArr = StringUtil.parseFiledInt2(mailItem.toString());
CommonProto.Drop.Builder dropBuilder = ItemUtil.drop(user, itemArr);

View File

@ -0,0 +1,18 @@
package com.ljsd.jieling.logic.activity;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class ActivityLogic {
private static final Logger LOGGER = LoggerFactory.getLogger(ActivityLogic.class);
private ActivityLogic(){}
public static class Instance {
public final static ActivityLogic instance = new ActivityLogic();
}
public static ActivityLogic getInstance() {
return ActivityLogic.Instance.instance;
}
}

View File

@ -16,7 +16,7 @@ import java.util.concurrent.CopyOnWriteArrayList;
public class ItemUtil {
private static Map<Integer,String> dropRewardMap = new ConcurrentHashMap<>();
private static final Logger LOGGER = LoggerFactory.getLogger(ItemUtil.class);
//掉落
//指定道具掉落(如:邮件,初始化物品)
public static CommonProto.Drop.Builder drop(User user, int[][] itemArr) throws Exception {
CommonProto.Drop.Builder dropBuilder = CommonProto.Drop.newBuilder();
Map<Integer, Integer> itemMap = new HashMap<>();
@ -25,19 +25,39 @@ public class ItemUtil {
Map<Integer,Integer> randomMap = new HashMap<>();
selectItemArr(itemArr,cardMap,itemMap,equipMap,randomMap);
useRandomItem(user,randomMap);
addItem(user,itemMap,dropBuilder);
addCard(user,cardMap,dropBuilder);
addEquip(user,equipMap,dropBuilder);
return dropBuilder;
}
private static void selectItemArr(int[][] itemArr, Map<Integer, Integer> cardMap, Map<Integer, Integer>
itemMap,Map<Integer,Integer> equipMap,Map<Integer,Integer> randomMap) {
for (int[] items : itemArr){
getMap(items[0],items[1], itemMap, cardMap,equipMap,randomMap,1);
//活动掉落
public static void activityDrop(User user,CommonProto.Drop.Builder dropBuilder ,int[] dropGroupIds, float dropRatio) throws Exception {
Map<Integer, Integer> itemMap = new HashMap<>();
Map<Integer, Integer> cardMap = new HashMap<>();
Map<Integer, Integer> equipMap = new HashMap<>();
Map<Integer, Integer> randomMap = new HashMap<>();
for (int dropGroupId : dropGroupIds) {
SRewardGroup sRewardGroup = SRewardGroup.getsRewardItemMap().get(dropGroupId);
if (sRewardGroup == null) {
continue;
}
selectDrop(sRewardGroup, itemMap, cardMap, equipMap, randomMap, dropRatio);
}
useRandomItem(user, randomMap);
addItem(user, itemMap, dropBuilder);
addCard(user, cardMap, dropBuilder);
addEquip(user, equipMap, dropBuilder);
}
//掉落组概率
public static CommonProto.Drop.Builder drop(User user, Map<int [],Float> dropGroupAndRatioMap) throws Exception {
CommonProto.Drop.Builder dropBuilder = CommonProto.Drop.newBuilder();
for (Map.Entry<int [],Float> entry :dropGroupAndRatioMap.entrySet()){
int[] dropGroupIds = entry.getKey();
float dropRatio = entry.getValue();
dropBuilder = drop(user, dropGroupIds, dropRatio);
}
return dropBuilder;
}
//掉落
@ -60,14 +80,11 @@ public class ItemUtil {
addEquip(user,equipMap,dropBuilder);
return dropBuilder;
}
public static CommonProto.Drop.Builder drop(User user, Map<int [],Float> dropGroupAndRatioMap) throws Exception {
CommonProto.Drop.Builder dropBuilder = CommonProto.Drop.newBuilder();
for (Map.Entry<int [],Float> entry :dropGroupAndRatioMap.entrySet()){
int[] dropGroupIds = entry.getKey();
float dropRatio = entry.getValue();
dropBuilder = drop(user, dropGroupIds, dropRatio);
private static void selectItemArr(int[][] itemArr, Map<Integer, Integer> cardMap, Map<Integer, Integer>
itemMap,Map<Integer,Integer> equipMap,Map<Integer,Integer> randomMap) {
for (int[] items : itemArr){
getMap(items[0],items[1], itemMap, cardMap,equipMap,randomMap,1);
}
return dropBuilder;
}
private static void selectDrop(SRewardGroup sRewardGroup,Map<Integer, Integer> itemMap, Map<Integer, Integer> cardMap,Map<Integer,Integer> equipMap,Map<Integer,Integer> randomMap , float dropRatio) {
String dropInfo = dropRewardMap.get(sRewardGroup.getId());