关卡排行榜修改
parent
789730d3c7
commit
50110c8723
|
|
@ -19,8 +19,7 @@ public class MathUtils {
|
|||
|
||||
|
||||
public static void main(String[] args){
|
||||
String i = "0|00|111";
|
||||
String[] split = i.split("|", 1);
|
||||
System.out.println(forceToDouble(1231321));
|
||||
}
|
||||
public static int randomForStrArray(String [] rateArray) {
|
||||
return randomStrArray(rateArray, -1);
|
||||
|
|
@ -326,6 +325,9 @@ public class MathUtils {
|
|||
}
|
||||
return result;
|
||||
}
|
||||
public static double forceToDouble(double force){
|
||||
return force/Math.pow(10,8);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2122,7 +2122,7 @@ public class MapLogic {
|
|||
MessageUtil.sendMessage(session, 1, messageType.getNumber(), fightEndResponse.build(), true);
|
||||
// String rankKey = RedisKey.getKey(RedisKey.MAINLEVEL_RANK, "", false);
|
||||
// RedisUtil.getInstence().zsetAddOne(rankKey, String.valueOf(user.getId()), sMainLevelConfig.getVirtureId());
|
||||
RankContext.getRankEnum(RankEnum.MAIN_LEVEL_RANK.getType()).addRank(uid,"",sMainLevelConfig.getVirtureId());
|
||||
RankContext.getRankEnum(RankEnum.MAIN_LEVEL_RANK.getType()).addRank(uid,"",sMainLevelConfig.getVirtureId(),user.getPlayerInfoManager().getMaxForce());
|
||||
}
|
||||
|
||||
// public void getMainLevelRankInfo(ISession session) throws Exception {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,26 @@
|
|||
package com.ljsd.jieling.logic.activity.eventhandler;
|
||||
|
||||
import com.ljsd.jieling.logic.activity.IEventHandler;
|
||||
import com.ljsd.jieling.logic.activity.event.IEvent;
|
||||
import com.ljsd.jieling.logic.activity.event.UserForceChangeEvent;
|
||||
import com.ljsd.jieling.logic.rank.RankContext;
|
||||
import com.ljsd.jieling.logic.rank.RankEnum;
|
||||
|
||||
/**
|
||||
* @author lvxinran
|
||||
* @date 2020/3/14
|
||||
* @discribe
|
||||
*/
|
||||
public class UserForceUpEventHandler implements IEventHandler {
|
||||
@Override
|
||||
public void onEvent(IEvent event) throws Exception {
|
||||
if(!(event instanceof UserForceChangeEvent))
|
||||
return;
|
||||
UserForceChangeEvent forceChangeEvent = (UserForceChangeEvent)event;
|
||||
double scoreById = RankContext.getRankEnum(RankEnum.MAIN_LEVEL_RANK.getType()).getScoreById(forceChangeEvent.getUid(), "");
|
||||
if(scoreById<=0){
|
||||
return;
|
||||
}
|
||||
RankContext.getRankEnum(RankEnum.MAIN_LEVEL_RANK.getType()).addRank(forceChangeEvent.getUid(),"",Double.valueOf(scoreById).intValue(),forceChangeEvent.getForce());
|
||||
}
|
||||
}
|
||||
|
|
@ -17,6 +17,7 @@ import com.ljsd.jieling.logic.activity.ActivityLogic;
|
|||
import com.ljsd.jieling.logic.activity.ActivityType;
|
||||
import com.ljsd.jieling.logic.activity.event.Poster;
|
||||
import com.ljsd.jieling.logic.activity.event.UserForceChangeEvent;
|
||||
import com.ljsd.jieling.logic.activity.eventhandler.UserForceUpEventHandler;
|
||||
import com.ljsd.jieling.logic.dao.*;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.family.GuildLogic;
|
||||
|
|
@ -50,7 +51,10 @@ import java.util.*;
|
|||
|
||||
public class PlayerLogic {
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(MailLogic.class);
|
||||
private PlayerLogic(){}
|
||||
private PlayerLogic(){
|
||||
Poster.getPoster().listenEvent(new UserForceUpEventHandler(), UserForceChangeEvent.class);
|
||||
|
||||
}
|
||||
|
||||
public static PlayerLogic getInstance(){
|
||||
return InnerClass.instance;
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import com.ljsd.jieling.logic.dao.UserManager;
|
|||
import com.ljsd.jieling.protocols.CommonProto;
|
||||
import com.ljsd.jieling.protocols.PlayerInfoProto;
|
||||
import org.springframework.data.redis.core.ZSetOperations;
|
||||
import util.MathUtils;
|
||||
import util.TimeUtils;
|
||||
|
||||
import java.util.*;
|
||||
|
|
@ -26,33 +27,33 @@ public class MainLevelRank extends AbstractRank {
|
|||
return new int[]{i%10_000_000};
|
||||
}
|
||||
|
||||
@Override
|
||||
protected PlayerInfoProto.RankResponse.Builder getAllUserResponse(Set<ZSetOperations.TypedTuple<String>> zsetreverseRangeWithScores, int start) throws Exception {
|
||||
PlayerInfoProto.RankResponse.Builder allUserResponse = super.getAllUserResponse(zsetreverseRangeWithScores, start);
|
||||
List<CommonProto.UserRank> ranksBuilderList = allUserResponse.getRanksList();
|
||||
if(ranksBuilderList.size()<2){
|
||||
return allUserResponse;
|
||||
}
|
||||
List<CommonProto.UserRank> builders = new ArrayList<>(ranksBuilderList);
|
||||
Collections.sort(builders,(o1, o2) -> {
|
||||
if(o1.getRankInfo().getParam1()==o2.getRankInfo().getParam1()){
|
||||
if(o1.getForce()>o2.getForce() &&o1.getRankInfo().getRank()>o2.getRankInfo().getRank()){
|
||||
CommonProto.UserRank rankInfo1 = o1 ;
|
||||
o1 = o2;
|
||||
o2 = rankInfo1;
|
||||
}
|
||||
}
|
||||
return o1.getRankInfo().getRank()-o2.getRankInfo().getRank();
|
||||
});
|
||||
List<CommonProto.UserRank> buildersCopy = new ArrayList<>(ranksBuilderList.size());
|
||||
for(CommonProto.UserRank userRank : builders){
|
||||
buildersCopy.add(userRank.toBuilder().setRankInfo(userRank.toBuilder().getRankInfo().toBuilder().setRank(start).build()).build());
|
||||
start++;
|
||||
}
|
||||
PlayerInfoProto.RankResponse.Builder response = PlayerInfoProto.RankResponse.newBuilder();
|
||||
response.setMyRankInfo(allUserResponse.getMyRankInfo()).addAllRanks(buildersCopy);
|
||||
return response;
|
||||
}
|
||||
// @Override
|
||||
// protected PlayerInfoProto.RankResponse.Builder getAllUserResponse(Set<ZSetOperations.TypedTuple<String>> zsetreverseRangeWithScores, int start) throws Exception {
|
||||
// PlayerInfoProto.RankResponse.Builder allUserResponse = super.getAllUserResponse(zsetreverseRangeWithScores, start);
|
||||
// List<CommonProto.UserRank> ranksBuilderList = allUserResponse.getRanksList();
|
||||
// if(ranksBuilderList.size()<2){
|
||||
// return allUserResponse;
|
||||
// }
|
||||
// List<CommonProto.UserRank> builders = new ArrayList<>(ranksBuilderList);
|
||||
// Collections.sort(builders,(o1, o2) -> {
|
||||
// if(o1.getRankInfo().getParam1()==o2.getRankInfo().getParam1()){
|
||||
// if(o1.getForce()>o2.getForce() &&o1.getRankInfo().getRank()>o2.getRankInfo().getRank()){
|
||||
// CommonProto.UserRank rankInfo1 = o1 ;
|
||||
// o1 = o2;
|
||||
// o2 = rankInfo1;
|
||||
// }
|
||||
// }
|
||||
// return o1.getRankInfo().getRank()-o2.getRankInfo().getRank();
|
||||
// });
|
||||
// List<CommonProto.UserRank> buildersCopy = new ArrayList<>(ranksBuilderList.size());
|
||||
// for(CommonProto.UserRank userRank : builders){
|
||||
// buildersCopy.add(userRank.toBuilder().setRankInfo(userRank.toBuilder().getRankInfo().toBuilder().setRank(start).build()).build());
|
||||
// start++;
|
||||
// }
|
||||
// PlayerInfoProto.RankResponse.Builder response = PlayerInfoProto.RankResponse.newBuilder();
|
||||
// response.setMyRankInfo(allUserResponse.getMyRankInfo()).addAllRanks(buildersCopy);
|
||||
// return response;
|
||||
// }
|
||||
|
||||
@Override
|
||||
public Set<ZSetOperations.TypedTuple<String>> getRankByKey(String rkey,int start, int end) {
|
||||
|
|
@ -63,6 +64,6 @@ public class MainLevelRank extends AbstractRank {
|
|||
|
||||
@Override
|
||||
public double getScore(double... data) {
|
||||
return data[0]+ TimeUtils.getDoubleTime();
|
||||
return data[0]+ MathUtils.forceToDouble(data[1]);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue