back_recharge
lvxinran 2019-10-28 12:05:53 +08:00
commit 23ee57749c
2 changed files with 48 additions and 39 deletions

View File

@ -2154,7 +2154,7 @@ public class MapLogic {
.setUid(uidTmp)
.setLevel(playerInfoManager.getLevel())
.setName(playerInfoManager.getNickName())
.setFightId(SMainLevelConfig.sMainLevelConfigByVirtureIdMap.get(score).getId())
.setFightId(SMainLevelConfig.sMainLevelConfigByVirtureIdMap.get(score).getVirtureId())
.setHead(playerInfoManager.getHead())
.setRank(rank++)
.setTotalForce(userTmp.getPlayerInfoManager().getMaxForce())
@ -2178,6 +2178,7 @@ public class MapLogic {
int uid = session.getUid();
for(CommonProto.MainLevelRankInfo.Builder builder1 : mainLevelRankInfoList){
builder1.setRank(rank++);
builder1.setFightId(SMainLevelConfig.sMainLevelConfigByVirtureIdMap.get(builder1.getFightId()).getId());
builder.addMainLevelRankInfo(builder1.build());
if(builder1.getUid() == uid){
myRank = builder1.getRank();

View File

@ -59,9 +59,6 @@ public abstract class AbstractActivity implements IActivity, IEventHandler {
/**
*
*
* @param user
* @throws Exception
*/
@Override
public void onResume(User user) throws Exception {
@ -73,8 +70,6 @@ public abstract class AbstractActivity implements IActivity, IEventHandler {
/**
*
* @param user
* @throws Exception
*/
public void reSetValue(User user) throws Exception {
ActivityManager activityManager = user.getActivityManager();
@ -143,13 +138,13 @@ public abstract class AbstractActivity implements IActivity, IEventHandler {
//up miss
int[][] reward = sActivityRewardConfig.getReward();
CommonProto.Drop.Builder drop = ItemUtil.drop(user, reward, BIReason.TAKE_ACTIVITY_REWARD);
checkAndSetProgress(activityMission, activityProgressInfo, sActivityRewardConfig, missionId);
checkAndSetProgress(activityMission, activityProgressInfo, missionId);
SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id);
if(null!=sGlobalActivity&&ActivityLogic.getInstance().checkActivityMissionFinishAndTaked(id,activityMission)&&sGlobalActivity.getResetGrade()==1){
if (null != sGlobalActivity && ActivityLogic.getInstance().checkActivityMissionFinishAndTaked(id, activityMission) && sGlobalActivity.getResetGrade() == 1) {
reSetValue(user);
ActivityMission newmiss = user.getActivityManager().getActivityMissionMap().get(id);
sendActivityProgress(session, newmiss,null);
}else {
sendActivityProgress(session, newmiss, null);
} else {
sendActivityProgress(session, activityMission, Collections.singleton(missionId));
}
KtEventUtils.onKtEvent(user, ParamEventBean.UserActivityEvent, id, missionId);
@ -158,32 +153,49 @@ public abstract class AbstractActivity implements IActivity, IEventHandler {
return true;
}
/**
*
*/
void takeAllReward(ISession session) throws Exception {
User user = UserManager.getUser(session.getUid());
List<Integer> misssIds = new LinkedList<>();
List<int[][]> itemArrs = new LinkedList<>();
getAllMissRewards(user, session, itemArrs);
if (itemArrs.size() == 0)
return;
SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id);
if (null == sGlobalActivity)
throw new ErrorCodeException(ErrorCode.ITEM_NOT_ENOUGH);
String title = SErrorCodeEerverConfig.getI18NMessage("receive_activity_title", new Object[]{sGlobalActivity.getSesc()});
String content = SErrorCodeEerverConfig.getI18NMessage("receive_activity_txt", new Object[]{sGlobalActivity.getSesc()});
String mailReward = ItemUtil.getMailReward(itemArrs);
int nowTime = (int) (TimeUtils.now() / 1000);
MailLogic.getInstance().sendMail(user.getId(), title, content, mailReward, nowTime, Global.MAIL_EFFECTIVE_TIME);
}
private void getAllMissRewards(User user, ISession session, List<int[][]> itemAttrs) throws Exception {
List<Integer> misssIds = new LinkedList<>();
List<SActivityRewardConfig> cfgs = SActivityRewardConfig.getsActivityRewardConfigByActivityId(id);
if (null == cfgs) {
return;
throw new ErrorCodeException(ErrorCode.CFG_NULL);
}
for (SActivityRewardConfig sActivityRewardConfig : cfgs) {
misssIds.add(sActivityRewardConfig.getId());
}
//check state
ActivityManager activityManager = user.getActivityManager();
ActivityMission activityMission = activityManager.getActivityMissionMap().get(id);
if (activityMission == null || activityMission.getActivityState() != ActivityType.OPEN_STATE || activityMission.getOpenType() == 0) {
return;
}
List<int[][]> itemArrs = new LinkedList<>();
boolean isTake = false;
for (Integer missionId : misssIds) {
//check cfg
SActivityRewardConfig sActivityRewardConfig = SActivityRewardConfig.getsActivityRewardConfigByMissionId(missionId);
if (sActivityRewardConfig == null || sActivityRewardConfig.getActivityId() != id) {
continue;
}
//check state
ActivityManager activityManager = user.getActivityManager();
ActivityMission activityMission = activityManager.getActivityMissionMap().get(id);
if (activityMission == null || activityMission.getActivityState() != ActivityType.OPEN_STATE || activityMission.getOpenType() == 0) {
continue;
}
ActivityProgressInfo activityProgressInfo = activityMission.getActivityProgressInfoMap().get(missionId);
if (activityProgressInfo == null || activityProgressInfo.getState() == ActivityType.HAD_TAKED) {
continue;
@ -194,22 +206,25 @@ public abstract class AbstractActivity implements IActivity, IEventHandler {
}
//up miss
int[][] reward = sActivityRewardConfig.getReward();
itemArrs.add(reward);
itemAttrs.add(reward);
isTake = true;
}
if(itemArrs.size()==0)
if (!isTake) {
return;
}
SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id);
if (null == sGlobalActivity)
return;
String title = SErrorCodeEerverConfig.getI18NMessage("receive_activity_title", new Object[]{sGlobalActivity.getSesc()});
String content = SErrorCodeEerverConfig.getI18NMessage("receive_activity_txt", new Object[]{sGlobalActivity.getSesc()});
String mailReward = ItemUtil.getMailReward(itemArrs);
int nowTime = (int) (TimeUtils.now() / 1000);
MailLogic.getInstance().sendMail(user.getId(), title, content, mailReward, nowTime, Global.MAIL_EFFECTIVE_TIME);
if (null != sGlobalActivity && sGlobalActivity.getResetGrade() == 1) {
reSetValue(user);
getAllMissRewards(user, session, itemAttrs);
}
}
void checkAndSetProgress(ActivityMission activityMission, ActivityProgressInfo activityProgressInfo, SActivityRewardConfig sActivityRewardConfig, int missionId) {
/**
*
*/
private void checkAndSetProgress(ActivityMission activityMission, ActivityProgressInfo activityProgressInfo, int missionId) {
activityProgressInfo.setState(ActivityType.HAD_TAKED);
activityMission.updateProgressInfo(missionId, activityProgressInfo);
}
@ -222,10 +237,7 @@ public abstract class AbstractActivity implements IActivity, IEventHandler {
boolean takeRewardsProcess(ISession session, SActivityRewardConfig sActivityRewardConfig, ActivityProgressInfo activityProgressInfo) throws Exception {
int[][] values = sActivityRewardConfig.getValues();
int missionProgress = activityProgressInfo.getProgrss();
if (missionProgress < values[0][0]) {
return false;
}
return true;
return missionProgress < values[0][0];
}
/**
@ -235,10 +247,7 @@ public abstract class AbstractActivity implements IActivity, IEventHandler {
int[][] values = sActivityRewardConfig.getValues();
User user = UserManager.getUser(session.getUid());
int value = user.getActivityManager().getActivityMissionMap().get(sActivityRewardConfig.getActivityId()).getValue();
if (value < values[0][0]) {
return false;
}
return true;
return value >= values[0][0];
}
void onActivityEndSelfWithDealReward(User user) throws Exception {
@ -250,7 +259,7 @@ public abstract class AbstractActivity implements IActivity, IEventHandler {
/**
*
*
*/
@Override
public void onActivityEnd() throws Exception {
@ -264,7 +273,6 @@ public abstract class AbstractActivity implements IActivity, IEventHandler {
public void onActivityEndOnMySelf(User user) throws Exception {
}
/**