头像框修改

back_recharge
lvxinran 2019-07-25 11:08:05 +08:00
parent 668635d0ef
commit 3d9ee7400a
5 changed files with 34 additions and 29 deletions

View File

@ -2588,6 +2588,7 @@ public class MapLogic {
.setUid(everyUser.getId())
.setUserName(everyUser.getPlayerInfoManager().getNickName())
.setHead(0)
.setHeadFrame(everyUser.getPlayerInfoManager().getHeadFrame())
.setLevel(everyUser.getPlayerInfoManager().getLevel())
.setTowerRankInfo(everyRankInfo)
.build();

View File

@ -129,7 +129,7 @@ public class ActivityLogic {
user.getActivityManager().addActivity(sGlobalActivity.getId(),activityMission);
break;
case ActivityType.BLESSACTIVITY:
blessInfoInit(user.getActivityManager());
blessInfoInit(user.getActivityManager(),sGlobalActivity.getId());
}
}
@ -349,7 +349,8 @@ public class ActivityLogic {
Integer activityId = activityState.getKey();
ActivityMission activityMission = activityState.getValue();
int activityStatus = activityMission.getActivityState();
if(activityStatus != ActivityType.OPEN_STATE){
if(SGlobalActivity.getsGlobalActivityMap().get(activityId).getType()!=7&&activityStatus != ActivityType.OPEN_STATE){
continue;
}
SGlobalActivity sGlobalActivity = sGlobalActivityMap.get(activityId);
@ -598,7 +599,7 @@ public class ActivityLogic {
return;
}
//祈福信息初始化
blessInfoInit(activityManager);
blessInfoInit(activityManager,7);
MessageUtil.sendMessage(session,1,messageType.getNumber(),null,true);
}
@ -606,7 +607,7 @@ public class ActivityLogic {
*
* @param activityManager
*/
private void blessInfoInit(ActivityManager activityManager){
private void blessInfoInit(ActivityManager activityManager,int activityId){
//第一次9种
int fixRewardPool = SBlessingConfig.sBlessingConfig.getRandomPoolId();
int fixRewardNum = SBlessingConfig.sBlessingConfig.getRandomNum();
@ -668,8 +669,8 @@ public class ActivityLogic {
int[] legendResult = MathUtils.randomFromWeightWithTaking(legendReward, legendNum);
int[] supremeResult = MathUtils.randomFromWeightWithTaking(supremeReward, supremeNum);
activityManager.initAllActivityMission(SBlessingConfig.sBlessingConfig.getActivityId());
ActivityMission activityMission = activityManager.getActivityMissionMap().get(SBlessingConfig.sBlessingConfig.getActivityId());
ActivityMission activityMission =new ActivityMission();
for(int i=16;i>0;i--){
ActivityProgressInfo progressInfo =new ActivityProgressInfo();
if(16-i<fixResult.length){
@ -683,6 +684,10 @@ public class ActivityLogic {
ActivityProgressInfo progressInfo =new ActivityProgressInfo();
activityMission.updateProgressInfo(i,progressInfo);
}
//初始化状态
activityMission.updateProgressInfo(99,new ActivityProgressInfo());
//初始化上次刷新时间
activityMission.updateProgressInfo(100,new ActivityProgressInfo());
for(int i = 0 ; i <legendResult.length;i++){
ActivityProgressInfo progressInfo =new ActivityProgressInfo();
progressInfo.setProgrss(legendResult[i]);
@ -698,6 +703,7 @@ public class ActivityLogic {
progressInfo.setProgrss(countResult[i]);
activityMission.updateProgressInfo(1000+counts[i],progressInfo);
}
activityManager.addActivity(activityId,activityMission);
}
//云梦请求数据
public void blessInfo(ISession session, MessageTypeProto.MessageType messageType) throws Exception {
@ -715,7 +721,7 @@ public class ActivityLogic {
PlayerInfoProto.blessResponse.Builder response = PlayerInfoProto.blessResponse.newBuilder();
Map<Integer, ActivityProgressInfo> blessInfoMap = activityMission.getActivityProgressInfoMap();
//保存之前
if(activityMission.getActivityState()==0){
if(blessInfoMap.get(99).getProgrss()==0){
for(Map.Entry<Integer,ActivityProgressInfo> entry:blessInfoMap.entrySet()){
if(entry.getKey()/1000>0){
CommonProto.blessReward blessReward = CommonProto.blessReward.newBuilder()
@ -750,7 +756,7 @@ public class ActivityLogic {
response.addFixReward(blessReward);
}
}
}else if(activityMission.getActivityState()!=0){//保存之后
}else{//保存之后
for(Map.Entry<Integer,ActivityProgressInfo> entry:blessInfoMap.entrySet()){
if(entry.getKey()/1000>0){
CommonProto.blessReward blessReward = CommonProto.blessReward.newBuilder()
@ -803,13 +809,13 @@ public class ActivityLogic {
}
}
response.setLastRefreshTime(activityMission.getOpenType());
response.setLastRefreshTime(blessInfoMap.get(100).getProgrss());
return response;
}
public void blessSaveOptionalReward(ISession session, int[] rewardIds, MessageTypeProto.MessageType messageType) throws Exception {
User user = UserManager.getUser(session.getUid());
ActivityMission activityMission = user.getActivityManager().getActivityMissionMap().get(SBlessingConfig.sBlessingConfig.getActivityId());
if(activityMission.getActivityState()!=0){
if(activityMission.getActivityProgressInfoMap().get(99).getProgrss()!=0){
MessageUtil.sendErrorResponse(session,0,messageType.getNumber(),"您当前不能进行保存!");
}
if(SBlessingConfig.sBlessingConfig.getRandomNum()!=16-rewardIds.length){
@ -824,7 +830,8 @@ public class ActivityLogic {
for(int i = 0 ;i <16;i++){
activityMission.updateProgressInfo(i+33,activityMission.getActivityProgressInfoMap().get(i+1));
}
activityMission.updateActivityState(-1);
// activityMission.updateActivityState(-1);
activityMission.updateProgressInfo(99,new ActivityProgressInfo(-1,0));
MessageUtil.sendMessage(session,1,messageType.getNumber(),null,true);
}
@ -844,7 +851,7 @@ public class ActivityLogic {
return;
}
int resultRewardId = 0;
if(activityMission.getActivityState()==-1){
if(activityProgressInfoMap.get(99).getProgrss()==-1){
Map<Integer, SBlessingRewardPool> poolMap = SBlessingRewardPool.sBlessingRewardPoolMap;
int[][] result = new int[16][];
int index = 0;
@ -872,22 +879,22 @@ public class ActivityLogic {
activityMission.updateProgressInfo(entry.getKey(),progress);
index++;
}
activityMission.updateActivityState(1);
activityMission.updateProgressInfo(99,new ActivityProgressInfo(1,0));
}
//检验消耗道具
int[][] costConfig = SBlessingConfig.sBlessingConfig.getCost();
int[][] cost = new int[1][];
int[] temp = new int[2];
temp[0] = costConfig[0][0];
temp[1] = (int)MathUtils.calABX(activityMission.getActivityState(),costConfig[1]);
temp[1] = (int)MathUtils.calABX(activityProgressInfoMap.get(99).getProgrss(),costConfig[1]);
cost[0] = temp;
LOGGER.info("本次为第{}次抽取,消耗{}个数为{}",activityMission.getActivityState(),temp[0],temp[1]);
LOGGER.info("本次为第{}次抽取,消耗{}个数为{}",activityProgressInfoMap.get(99).getProgrss(),temp[0],temp[1]);
boolean costResult = ItemUtil.itemCost(user,cost,BIReason.BLESS_CHOOSE_CONSUME,1);
if(!costResult){
MessageUtil.sendErrorResponse(session,0,messageType.getNumber(),"道具不足");
return;
}
if(activityMission.getActivityState()>0){
if(activityProgressInfoMap.get(99).getProgrss()>0){
for (Map.Entry<Integer,ActivityProgressInfo> entry :activityProgressInfoMap.entrySet()) {
if(entry.getKey()>16){
continue;
@ -907,7 +914,7 @@ public class ActivityLogic {
Map<Integer, SBlessingRewardPool> poolMap = SBlessingRewardPool.sBlessingRewardPoolMap;
int[][] dropItem = new int[1][];
for(Integer count:SBlessingConfig.sBlessingConfig.getCounts()){
if (count!=activityMission.getActivityState()){
if (count!=activityProgressInfoMap.get(99).getProgrss()){
continue;
}
dropItem = new int[2][];
@ -915,8 +922,8 @@ public class ActivityLogic {
}
int[] reward = poolMap.get(resultRewardId).getReward();
dropItem[0] = reward;
CommonProto.Drop.Builder drop = ItemUtil.dropPer(user, dropItem, BIReason.BLESS_REWARD);
activityMission.updateActivityState(activityMission.getActivityState()+1);
CommonProto.Drop.Builder drop = ItemUtil.drop(user, dropItem, BIReason.BLESS_REWARD);
activityMission.updateProgressInfo(99,new ActivityProgressInfo(activityProgressInfoMap.get(99).getProgrss()+1,0));
PlayerInfoProto.blessChooseResponse response = PlayerInfoProto.blessChooseResponse.newBuilder().setReward(drop).setChooseRewardId(resultRewardId).build();
MessageUtil.sendMessage(session,1,messageType.getNumber(),response,true);
}
@ -942,9 +949,9 @@ public class ActivityLogic {
ActivityManager activityManager = user.getActivityManager();
ActivityMission activityMission = activityManager.getActivityMissionMap().get(SBlessingConfig.sBlessingConfig.getActivityId());
activityMission.initMissionInfo(SBlessingConfig.sBlessingConfig.getActivityId());
activityMission.updateActivityState(0);
activityMission.setOpenType((int)(TimeUtils.now()/1000));
blessInfoInit(activityManager);
activityMission.updateProgressInfo(99,new ActivityProgressInfo());
activityMission.updateProgressInfo(100,new ActivityProgressInfo((int)(TimeUtils.now()/1000),0));
blessInfoInit(activityManager,7);
PlayerInfoProto.blessRefresh res = PlayerInfoProto.blessRefresh.newBuilder().setReward(getBlessInfoResponse(activityMission).build()).build();
MessageUtil.sendMessage(session,1,messageType.getNumber(),res,true);
}

View File

@ -433,6 +433,7 @@ public class ArenaLogic {
.setHead(0)
.setRank(++start)
.setTotalForce(totalForce)
.setHeadFrame(playerInfoManager.getHeadFrame())
.build();
arenaRankMemberInfo.add(CommonProto.ArenaEnemy.newBuilder()
.setPersonInfo(personInfoBuild)

View File

@ -15,15 +15,11 @@ public class ActivityMission extends MongoBase {
private int activityState;
private int openType;
private Map<Integer,ActivityProgressInfo> activityProgressInfoMap;
private Map<Integer,ActivityProgressInfo> activityProgressInfoMap = new HashMap<>();
public ActivityMission(){}
public boolean initMissionInfo(int activityId){
if(activityId==7){
activityProgressInfoMap = new LinkedHashMap<>();
return true;
}
List<SActivityRewardConfig> sActivityRewardConfigs = SActivityRewardConfig.getsActivityRewardConfigByActivityId(activityId);
if(sActivityRewardConfigs == null){return false;}
activityProgressInfoMap = new HashMap<>(sActivityRewardConfigs.size());

View File

@ -238,7 +238,7 @@ public class CBean2Proto {
chatInfo.setTimes(time);
chatInfo.setMsg(message);
chatInfo.setHead(playerInfoManager.getHead());
chatInfo.setFrame(playerInfoManager.getFamilyId());
chatInfo.setFrame(playerInfoManager.getHeadFrame());
chatInfo.setSoulVal(playerInfoManager.getMaxForce());
chatInfo.setMessageId(messageId);
return chatInfo.build();
@ -287,7 +287,7 @@ public class CBean2Proto {
friend.setHaveReward(haveReward);
friend.setIsGive(isGrive);
friend.setHead(playerInfoManager.getHead());
friend.setFrame(playerInfoManager.getFamilyId());
friend.setFrame(playerInfoManager.getHeadFrame());
friend.setSoulVal(playerInfoManager.getMaxForce());
return friend.build();
}