redis存储队伍英雄模板id,优化部分地方读取用户逻辑,避免批量读取数据库
parent
7d52ab08a1
commit
825a5cb3ca
|
@ -113,6 +113,7 @@ public class CrossServiceLogic {
|
||||||
csPlayer.setLoginTime(p.getLoginTime());
|
csPlayer.setLoginTime(p.getLoginTime());
|
||||||
csPlayer.setOffLineTime(p.getOffLineTime());
|
csPlayer.setOffLineTime(p.getOffLineTime());
|
||||||
csPlayer.setMaxFore(p.getMaxForce());
|
csPlayer.setMaxFore(p.getMaxForce());
|
||||||
|
|
||||||
//玉虚三个队伍总战力
|
//玉虚三个队伍总战力
|
||||||
long force1 = HeroLogic.getInstance().calTeamTotalForce(user, TeamEnum.CROSS_YU_XU_LUN_DAO_ONE.getTeamId());
|
long force1 = HeroLogic.getInstance().calTeamTotalForce(user, TeamEnum.CROSS_YU_XU_LUN_DAO_ONE.getTeamId());
|
||||||
long force2 = HeroLogic.getInstance().calTeamTotalForce(user, TeamEnum.CROSS_YU_XU_LUN_DAO_TWO.getTeamId());
|
long force2 = HeroLogic.getInstance().calTeamTotalForce(user, TeamEnum.CROSS_YU_XU_LUN_DAO_TWO.getTeamId());
|
||||||
|
@ -122,8 +123,15 @@ public class CrossServiceLogic {
|
||||||
long mainLine = HeroLogic.getInstance().calTeamTotalForce(user, TeamEnum.MIAN_LINE_TEAM.getTeamId());
|
long mainLine = HeroLogic.getInstance().calTeamTotalForce(user, TeamEnum.MIAN_LINE_TEAM.getTeamId());
|
||||||
csPlayer.setMainLineForce(mainLine);
|
csPlayer.setMainLineForce(mainLine);
|
||||||
// 罗浮编队战力
|
// 罗浮编队战力
|
||||||
long luoFu = HeroLogic.getInstance().calTeamTotalForce(user, TeamEnum.MIAN_LINE_TEAM.getTeamId());
|
long luoFu = HeroLogic.getInstance().calTeamTotalForce(user, TeamEnum.WORLD_TEAM_ARENA_DEFENSE.getTeamId());
|
||||||
csPlayer.setLuoFuForce(luoFu);
|
csPlayer.setLuoFuForce(luoFu);
|
||||||
|
|
||||||
|
// 编队英雄记录
|
||||||
|
List<Integer> mianLineTeam = HeroLogic.getInstance().getTeamByUid(user, TeamEnum.MIAN_LINE_TEAM.getTeamId());
|
||||||
|
csPlayer.putTeamHeroIds(TeamEnum.MIAN_LINE_TEAM.getTeamId(), mianLineTeam);
|
||||||
|
List<Integer> arenaDefenseTeam = HeroLogic.getInstance().getTeamByUid(user, TeamEnum.TEAM_ARENA_DEFENSE.getTeamId());
|
||||||
|
csPlayer.putTeamHeroIds(TeamEnum.TEAM_ARENA_DEFENSE.getTeamId(), arenaDefenseTeam);
|
||||||
|
|
||||||
return csPlayer;
|
return csPlayer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -412,13 +412,12 @@ public class ArenaLogic {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void getWorldRankByPage(ISession session, int page) throws Exception {
|
public void getWorldRankByPage(ISession session, int page) {
|
||||||
if (page == 0) {
|
if (page == 0) {
|
||||||
page = 1;
|
page = 1;
|
||||||
}
|
}
|
||||||
int start = (page - 1) * 20, end = page * 20 - 1;
|
int start = (page - 1) * 20, end = page * 20 - 1;
|
||||||
List<CommonProto.ArenaEnemy> arenaRankMemberInfo = new ArrayList<>(20);
|
List<CommonProto.ArenaEnemy> arenaRankMemberInfo = new ArrayList<>(20);
|
||||||
// todo 这里会批量请求其他玩家缓存,需要处理
|
|
||||||
int rankEndLine = SSpecialConfig.getIntegerValue(SSpecialConfig.ARENA_RANKINGSHOWNUM);
|
int rankEndLine = SSpecialConfig.getIntegerValue(SSpecialConfig.ARENA_RANKINGSHOWNUM);
|
||||||
if (end < rankEndLine) {
|
if (end < rankEndLine) {
|
||||||
Set<ZSetOperations.TypedTuple<String>> arenaRankInfo = RedisUtil.getInstence().getZsetreverseRangeWithScores(RedisKey.ARENA_RANK, Integer.toString(viewSeason), start, end);
|
Set<ZSetOperations.TypedTuple<String>> arenaRankInfo = RedisUtil.getInstence().getZsetreverseRangeWithScores(RedisKey.ARENA_RANK, Integer.toString(viewSeason), start, end);
|
||||||
|
@ -426,34 +425,26 @@ public class ArenaLogic {
|
||||||
String value = item.getValue();
|
String value = item.getValue();
|
||||||
int score = item.getScore().intValue();
|
int score = item.getScore().intValue();
|
||||||
int uid = Integer.parseInt(value);
|
int uid = Integer.parseInt(value);
|
||||||
User user = UserManager.getUser(uid, true);
|
CSPlayer csPlayer = CrossServiceLogic.getPlayerByRedis(uid);
|
||||||
if (null == user) {
|
if (null == csPlayer) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
long totalForce = HeroLogic.getInstance().calTeamTotalForce(user, TeamEnum.TEAM_ARENA_DEFENSE.getTeamId());
|
List<Integer> heroTids = csPlayer.getTeamHeroId(TeamEnum.TEAM_ARENA_DEFENSE.getTeamId());
|
||||||
// LOGGER.info("获取世界排行榜信息===========玩家id:{}", uid);
|
|
||||||
List<TeamPosHeroInfo> teamPosHeroInfoList = user.getTeamPosManager().getTeamPosForHero().get(TeamEnum.TEAM_ARENA_DEFENSE.getTeamId());
|
|
||||||
Map<String, Hero> heroMap = user.getHeroManager().getHeroMap();
|
|
||||||
List<Integer> heroTids = new ArrayList<>(teamPosHeroInfoList.size());
|
|
||||||
for (TeamPosHeroInfo teamPosHeroInfo : teamPosHeroInfoList) {
|
|
||||||
heroTids.add(heroMap.get(teamPosHeroInfo.getHeroId()).getTemplateId());
|
|
||||||
}
|
|
||||||
CommonProto.Team teamBuild = CommonProto.Team.newBuilder().addAllHeroTid(heroTids).build();
|
CommonProto.Team teamBuild = CommonProto.Team.newBuilder().addAllHeroTid(heroTids).build();
|
||||||
PlayerManager playerInfoManager = user.getPlayerInfoManager();
|
|
||||||
CommonProto.ArenaPersonInfo personInfoBuild = CommonProto.ArenaPersonInfo.newBuilder()
|
CommonProto.ArenaPersonInfo personInfoBuild = CommonProto.ArenaPersonInfo.newBuilder()
|
||||||
.setUid(uid)
|
.setUid(uid)
|
||||||
.setLevel(playerInfoManager.getLevel())
|
.setLevel(csPlayer.getLevel())
|
||||||
.setName(playerInfoManager.getNickName())
|
.setName(csPlayer.getName())
|
||||||
.setScore(score)
|
.setScore(score)
|
||||||
.setHead(playerInfoManager.getHead())
|
.setHead(csPlayer.getHead())
|
||||||
.setRank(++start)
|
.setRank(++start)
|
||||||
.setTotalForce(totalForce)
|
.setTotalForce(csPlayer.getMainLineForce())
|
||||||
.setHeadFrame(playerInfoManager.getHeadFrame())
|
.setHeadFrame(csPlayer.getHeadFrame())
|
||||||
.setUserMount(playerInfoManager.getUserMount())
|
.setUserMount(csPlayer.getUserMount())
|
||||||
.setUserSkin(playerInfoManager.getUserSkin())
|
.setUserSkin(csPlayer.getSkin())
|
||||||
.setUserTitle(playerInfoManager.getUserTitle())
|
.setUserTitle(csPlayer.getUserTitle())
|
||||||
.setGender(playerInfoManager.getSex())
|
.setGender(csPlayer.getSex())
|
||||||
.setPracticeLevel(user.getHeroManager().getPracticeLevel())
|
.setPracticeLevel(csPlayer.getPracticeLevel())
|
||||||
.build();
|
.build();
|
||||||
arenaRankMemberInfo.add(CommonProto.ArenaEnemy.newBuilder()
|
arenaRankMemberInfo.add(CommonProto.ArenaEnemy.newBuilder()
|
||||||
.setPersonInfo(personInfoBuild)
|
.setPersonInfo(personInfoBuild)
|
||||||
|
@ -1035,7 +1026,7 @@ public class ArenaLogic {
|
||||||
.setLevel(csPlayer.getLevel())
|
.setLevel(csPlayer.getLevel())
|
||||||
.setName(csPlayer.getName())
|
.setName(csPlayer.getName())
|
||||||
.setServername(serverName)
|
.setServername(serverName)
|
||||||
.setTotalForce(csPlayer.getLuoFuForce())
|
.setTotalForce(csPlayer.getMainLineForce())
|
||||||
.setUserTitle(csPlayer.getUserTitle())
|
.setUserTitle(csPlayer.getUserTitle())
|
||||||
.setUserMount(csPlayer.getUserMount())
|
.setUserMount(csPlayer.getUserMount())
|
||||||
.setGender(csPlayer.getSex())
|
.setGender(csPlayer.getSex())
|
||||||
|
|
|
@ -2,6 +2,11 @@ package com.ljsd.jieling.logic.dao.cross;
|
||||||
|
|
||||||
import com.ljsd.jieling.db.mongo.AreaManager;
|
import com.ljsd.jieling.db.mongo.AreaManager;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Author hj
|
* @Author hj
|
||||||
* @Date 2021/8/31 15:30:04
|
* @Date 2021/8/31 15:30:04
|
||||||
|
@ -9,87 +14,31 @@ import com.ljsd.jieling.db.mongo.AreaManager;
|
||||||
* @Version 1.0
|
* @Version 1.0
|
||||||
*/
|
*/
|
||||||
public class CSPlayer {
|
public class CSPlayer {
|
||||||
/**
|
private int userId;//角色id
|
||||||
* 角色id
|
private int level;//等级
|
||||||
*/
|
private String name;//名字
|
||||||
private int userId;
|
private int head;//头像
|
||||||
/**
|
private int headFrame;//头像框
|
||||||
* 等级
|
private int skin;//皮肤
|
||||||
*/
|
private int userTitle;//称号
|
||||||
private int level;
|
private int practiceLevel;//修行等级
|
||||||
/**
|
private int serverId;//服务器id
|
||||||
* 名字
|
private int sex;//性别
|
||||||
*/
|
private int userMount;//坐骑
|
||||||
private String name;
|
private int guildId;//公会id
|
||||||
/**
|
private long maxFore;//最高战力
|
||||||
* 头像
|
private int crossYuxulundaoOldScore;//玉虚论道旧分数
|
||||||
*/
|
private int crossYuxulundaoNewScore;//玉虚论道最新分数
|
||||||
private int head;
|
private int crossYxldMaxLevel;//玉虚论道历史达到的最高等级
|
||||||
/**
|
private long mainLineForce;
|
||||||
* 头像框
|
private long luoFuForce;
|
||||||
*/
|
private long yuxuForce;
|
||||||
private int headFrame;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 皮肤
|
|
||||||
*/
|
|
||||||
private int skin;
|
|
||||||
/**
|
|
||||||
* 称号
|
|
||||||
*/
|
|
||||||
private int userTitle;
|
|
||||||
/**
|
|
||||||
* 修行等级
|
|
||||||
*/
|
|
||||||
private int practiceLevel;
|
|
||||||
/**
|
|
||||||
* 服务器id
|
|
||||||
*/
|
|
||||||
private int serverId;
|
|
||||||
/**
|
|
||||||
* 性别
|
|
||||||
*/
|
|
||||||
private int sex;
|
|
||||||
/**
|
|
||||||
* 坐骑
|
|
||||||
*/
|
|
||||||
private int userMount;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 公会id
|
|
||||||
*/
|
|
||||||
private int guildId;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 最高战力
|
|
||||||
*/
|
|
||||||
private long maxFore;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 玉虚论道旧分数
|
|
||||||
*/
|
|
||||||
private int crossYuxulundaoOldScore = 0;
|
|
||||||
/**
|
|
||||||
* 玉虚论道最新分数
|
|
||||||
*/
|
|
||||||
private int crossYuxulundaoNewScore = 0;
|
|
||||||
/**
|
|
||||||
* 玉虚论道历史达到的最高等级
|
|
||||||
*/
|
|
||||||
private int crossYxldMaxLevel = 0 ;
|
|
||||||
|
|
||||||
private long mainLineForce = 0;
|
|
||||||
|
|
||||||
private long luoFuForce = 0;
|
|
||||||
|
|
||||||
private long yuxuForce = 0;
|
|
||||||
|
|
||||||
private long loginTime;// 登陆时间
|
private long loginTime;// 登陆时间
|
||||||
private long offLineTime;// 离线时间
|
private long offLineTime;// 离线时间
|
||||||
|
|
||||||
// 数字小游戏
|
// 数字小游戏
|
||||||
private int compareNumLevelId;
|
private int compareNumLevelId;
|
||||||
private int compareNumLevelTime;
|
private int compareNumLevelTime;
|
||||||
|
private Map<Integer, List<Integer>> teamHeroIdMap = new HashMap<>();// 队伍内的英雄模板id
|
||||||
|
|
||||||
public CSPlayer() {
|
public CSPlayer() {
|
||||||
}
|
}
|
||||||
|
@ -277,4 +226,20 @@ public class CSPlayer {
|
||||||
public void setYuxuForce(long yuxuForce) {
|
public void setYuxuForce(long yuxuForce) {
|
||||||
this.yuxuForce = yuxuForce;
|
this.yuxuForce = yuxuForce;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Map<Integer, List<Integer>> getTeamHeroIdMap() {
|
||||||
|
return teamHeroIdMap;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<Integer> getTeamHeroId(int teamId) {
|
||||||
|
return teamHeroIdMap.getOrDefault(teamId, new ArrayList<>(0));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTeamHeroIdMap(Map<Integer, List<Integer>> teamHeroIdMap) {
|
||||||
|
this.teamHeroIdMap = teamHeroIdMap;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void putTeamHeroIds(int teamId, List<Integer> heroTIds) {
|
||||||
|
this.teamHeroIdMap.put(teamId, heroTIds);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3561,7 +3561,7 @@ public class HeroLogic {
|
||||||
// 更新战力
|
// 更新战力
|
||||||
Poster.getPoster().dispatchEvent(new SaveHeroForceEvent(user.getId(),heroId));
|
Poster.getPoster().dispatchEvent(new SaveHeroForceEvent(user.getId(),heroId));
|
||||||
// 鸿蒙阵,穿装备
|
// 鸿蒙阵,穿装备
|
||||||
addOrUpdateHongmeng(session);
|
// addOrUpdateHongmeng(session);
|
||||||
|
|
||||||
//发送成功消息
|
//发送成功消息
|
||||||
MessageUtil.sendMessage(session, 1, MessageTypeProto.MessageType.EQUIP_WEAR_RESPONSE_VALUE, null, true);
|
MessageUtil.sendMessage(session, 1, MessageTypeProto.MessageType.EQUIP_WEAR_RESPONSE_VALUE, null, true);
|
||||||
|
@ -7040,4 +7040,24 @@ public class HeroLogic {
|
||||||
return potentialNew.getAttribute();
|
return potentialNew.getAttribute();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据用户id获取队伍
|
||||||
|
*/
|
||||||
|
public List<Integer> getTeamByUid(User user, int teamId){
|
||||||
|
ArrayList<Integer> result = new ArrayList<>();
|
||||||
|
if (user == null){
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
List<TeamPosHeroInfo> heroInfos = user.getTeamPosManager().getTeamPosForHero().get(teamId);
|
||||||
|
if (heroInfos == null || heroInfos.isEmpty()){
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
for (TeamPosHeroInfo heroInfo : heroInfos) {
|
||||||
|
// 获取英雄模板id
|
||||||
|
Hero hero = user.getHeroManager().getHero(heroInfo.getHeroId());
|
||||||
|
result.add(hero.getTemplateId());
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,7 +6,9 @@ import com.ljsd.jieling.globals.BIReason;
|
||||||
import com.ljsd.jieling.ktbeans.ReportEventEnum;
|
import com.ljsd.jieling.ktbeans.ReportEventEnum;
|
||||||
import com.ljsd.jieling.ktbeans.ReportUtil;
|
import com.ljsd.jieling.ktbeans.ReportUtil;
|
||||||
import com.ljsd.jieling.logic.GlobleSystemLogic;
|
import com.ljsd.jieling.logic.GlobleSystemLogic;
|
||||||
|
import com.ljsd.jieling.logic.activity.crossService.CrossServiceLogic;
|
||||||
import com.ljsd.jieling.logic.dao.*;
|
import com.ljsd.jieling.logic.dao.*;
|
||||||
|
import com.ljsd.jieling.logic.dao.cross.CSPlayer;
|
||||||
import com.ljsd.jieling.logic.dao.root.User;
|
import com.ljsd.jieling.logic.dao.root.User;
|
||||||
import com.ljsd.jieling.logic.rank.rankImpl.AbstractRank;
|
import com.ljsd.jieling.logic.rank.rankImpl.AbstractRank;
|
||||||
import com.ljsd.jieling.network.session.ISession;
|
import com.ljsd.jieling.network.session.ISession;
|
||||||
|
@ -105,7 +107,6 @@ public class RankLogic {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取随机排名的用户id
|
* 获取随机排名的用户id
|
||||||
* todo 耗时很久,推荐修改为配表多类,随机读取
|
|
||||||
*/
|
*/
|
||||||
public List<List<Integer>> getRandomUserByRank(User user,int counts) throws Exception {
|
public List<List<Integer>> getRandomUserByRank(User user,int counts) throws Exception {
|
||||||
List<List<Integer>> result = new ArrayList<>();
|
List<List<Integer>> result = new ArrayList<>();
|
||||||
|
@ -128,14 +129,14 @@ public class RankLogic {
|
||||||
// 随机排名
|
// 随机排名
|
||||||
int random = MathUtils.randomInt(rankSize);
|
int random = MathUtils.randomInt(rankSize);
|
||||||
// 获取随机玩家的主线队伍阵容
|
// 获取随机玩家的主线队伍阵容
|
||||||
User other1 = getRankUid(rankResponse, random);
|
CSPlayer player = getRankUid(rankResponse, random);
|
||||||
List<Integer> heroInfos = getTeamByUid(other1);
|
List<Integer> heroInfos = player.getTeamHeroId(TeamEnum.MIAN_LINE_TEAM.getTeamId());
|
||||||
// 队伍长度不足六人
|
// 队伍长度不足六人
|
||||||
if (heroInfos.size() < 6){
|
if (heroInfos.size() < 6){
|
||||||
if (count == 5){
|
if (count == 5){
|
||||||
// 最多循环五次,五次之后直接取第一名得id
|
// 最多循环五次,五次之后直接取第一名得id
|
||||||
User other2 = getRankUid(rankResponse, 0);
|
CSPlayer player2 = getRankUid(rankResponse, 0);
|
||||||
result.add(getTeamByUid(other2));
|
result.add(player2.getTeamHeroId(TeamEnum.MIAN_LINE_TEAM.getTeamId()));
|
||||||
}
|
}
|
||||||
count++;
|
count++;
|
||||||
}else {
|
}else {
|
||||||
|
@ -147,29 +148,12 @@ public class RankLogic {
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据用户id获取队伍
|
|
||||||
*/
|
|
||||||
private List<Integer> getTeamByUid(User user){
|
|
||||||
ArrayList<Integer> integers = new ArrayList<>();
|
|
||||||
if (user == null){
|
|
||||||
return integers;
|
|
||||||
}
|
|
||||||
List<TeamPosHeroInfo> heroInfos = user.getTeamPosManager().getTeamPosForHero().get(TeamEnum.MIAN_LINE_TEAM.getTeamId());
|
|
||||||
heroInfos.forEach(v->{
|
|
||||||
// 获取英雄模板id
|
|
||||||
Hero hero = user.getHeroManager().getHero(v.getHeroId());
|
|
||||||
integers.add(hero.getTemplateId());
|
|
||||||
});
|
|
||||||
return integers;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据排行获取排行榜玩家id
|
* 根据排行获取排行榜玩家id
|
||||||
*/
|
*/
|
||||||
private User getRankUid(PlayerInfoProto.RankResponse rankResponse, int ranking){
|
private CSPlayer getRankUid(PlayerInfoProto.RankResponse rankResponse, int ranking){
|
||||||
CommonProto.UserRank ranks = rankResponse.getRanks(ranking);
|
CommonProto.UserRank ranks = rankResponse.getRanks(ranking);
|
||||||
return UserManager.getUserNotCache(ranks.getUid());
|
return CrossServiceLogic.getPlayerByRedis(ranks.getUid());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -78,7 +78,7 @@ public class CrossArenaRank extends AbstractRank {
|
||||||
}
|
}
|
||||||
CommonProto.RankInfo.Builder everyRankInfo = CommonProto.RankInfo.newBuilder()
|
CommonProto.RankInfo.Builder everyRankInfo = CommonProto.RankInfo.newBuilder()
|
||||||
.setRank(index)
|
.setRank(index)
|
||||||
.setParam1(query.getLuoFuForce())
|
.setParam1(query.getMainLineForce())
|
||||||
.setParam2(getParam2(data.getScore()))
|
.setParam2(getParam2(data.getScore()))
|
||||||
.setParam3(getParam3(data.getScore()));
|
.setParam3(getParam3(data.getScore()));
|
||||||
CommonProto.UserRank.Builder everyRank = getCrossOneUserRank(query,everyRankInfo);
|
CommonProto.UserRank.Builder everyRank = getCrossOneUserRank(query,everyRankInfo);
|
||||||
|
@ -89,7 +89,7 @@ public class CrossArenaRank extends AbstractRank {
|
||||||
@Override
|
@Override
|
||||||
public CommonProto.UserRank.Builder getCrossOneUserRank(CSPlayer csPlayer, CommonProto.RankInfo.Builder everyRankInfo){
|
public CommonProto.UserRank.Builder getCrossOneUserRank(CSPlayer csPlayer, CommonProto.RankInfo.Builder everyRankInfo){
|
||||||
CommonProto.UserRank.Builder oneUserRank = super.getCrossOneUserRank(csPlayer, everyRankInfo);
|
CommonProto.UserRank.Builder oneUserRank = super.getCrossOneUserRank(csPlayer, everyRankInfo);
|
||||||
oneUserRank.setForce(csPlayer.getLuoFuForce());
|
oneUserRank.setForce(csPlayer.getMainLineForce());
|
||||||
return oneUserRank;
|
return oneUserRank;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue