好友:修改详情界面关卡显示
This commit is contained in:
@@ -610,7 +610,7 @@ export class FriendHandler {
|
||||
|
||||
let dbHeroes = await HeroModel.findByRole(oppoRoleId);
|
||||
let role = await RoleModel.findByRoleId(oppoRoleId, null, true);
|
||||
let { topFive, topFiveCe } = role;
|
||||
let { topFive, topFiveCe, towerLv } = role;
|
||||
|
||||
let heroes = new Array<PlayerDetailHero>();
|
||||
for(let {hid, lv, star, colorStar, quality } of dbHeroes) {
|
||||
@@ -625,7 +625,7 @@ export class FriendHandler {
|
||||
let rank = await getMyRank(REDIS_KEY.PVP_RANK, 0, oppoRoleId);//去redis中获取排名
|
||||
|
||||
result = new PlayerDetail({...role, defCe: topFiveCe, heroes});
|
||||
result.setWarStar(role.warStar, rank);
|
||||
result.setWarStar(role.warStar, rank, towerLv);
|
||||
|
||||
return resResult(STATUS.SUCCESS, result);
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ import { PvpEnemies, PvpOtherHeroes } from "../../domain/dbGeneral";
|
||||
import { GuildType } from "../../db/Guild";
|
||||
import { RoleType, WarStar } from "../../db/Role";
|
||||
import { WAR_TYPE } from "../../consts/consts";
|
||||
import { gameData } from "../../pubUtils/data";
|
||||
|
||||
export class PlayerDetailHero {
|
||||
actorId: number;
|
||||
@@ -22,22 +23,24 @@ export class PlayerDetailHero {
|
||||
}
|
||||
|
||||
class PlayerDetailBattle {
|
||||
main: number = 0;
|
||||
tower: number = 0;
|
||||
dungeon: number = 0;
|
||||
pvp: number = 0;
|
||||
main: string[] = [];
|
||||
tower: string[] = [];
|
||||
pvp: string[] = [];
|
||||
|
||||
constructor(warStar: WarStar[], pvp: number) {
|
||||
constructor(warStar: WarStar[], pvp: number, tower: number) {
|
||||
let main = 0;
|
||||
for(let { id, warType } of warStar) {
|
||||
if(warType == WAR_TYPE.NORMAL) {
|
||||
if(id > this.main) this.main = id;
|
||||
} else if (warType == WAR_TYPE.TOWER) {
|
||||
if(id > this.tower) this.tower = id;
|
||||
} else if (warType == WAR_TYPE.MYSTERY) {
|
||||
if(id > this.dungeon) this.dungeon = id;
|
||||
if(id > main) main = id;
|
||||
}
|
||||
}
|
||||
this.pvp = pvp;
|
||||
let curDicWar = gameData.war.get(main);
|
||||
if(curDicWar) {
|
||||
this.main = curDicWar.detailUIBg;
|
||||
}
|
||||
this.pvp.push(pvp.toString());
|
||||
this.tower.push(tower.toString());
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -56,7 +59,7 @@ export class PlayerDetail {
|
||||
heroes: PlayerDetailHero[];
|
||||
rank?:number = 0;
|
||||
|
||||
battle?: PlayerDetailBattle = new PlayerDetailBattle([], 0);
|
||||
battle?: PlayerDetailBattle = new PlayerDetailBattle([], 0, 0);
|
||||
|
||||
constructor(detail: PlayerDetail) {
|
||||
if(detail.roleId) this.roleId = detail.roleId;
|
||||
@@ -72,8 +75,8 @@ export class PlayerDetail {
|
||||
if(detail.rank) this.rank = detail.rank;
|
||||
}
|
||||
|
||||
setWarStar?(warStar: WarStar[], pvp: number) {
|
||||
this.battle = new PlayerDetailBattle(warStar, pvp);
|
||||
setWarStar?(warStar: WarStar[], pvp: number, tower: number) {
|
||||
this.battle = new PlayerDetailBattle(warStar, pvp, tower);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// 关卡表
|
||||
import {decodeArrayListStr, readJsonFile} from '../util'
|
||||
import {decodeArrayListStr, decodeArrayStr, readJsonFile} from '../util'
|
||||
import { WAR_RELATE_TABLES, WAR_TYPE } from '../../consts';
|
||||
|
||||
export interface DicWar {
|
||||
@@ -26,7 +26,8 @@ export interface DicWar {
|
||||
readonly previousGk: number;
|
||||
// 每日任务下的小类型
|
||||
readonly dailyType: number;
|
||||
|
||||
// 显示章节名
|
||||
readonly detailUIBg: string[];
|
||||
}
|
||||
|
||||
export const dicWar = new Map<number, DicWar>();
|
||||
@@ -40,6 +41,8 @@ for(let filename of WAR_RELATE_TABLES) {
|
||||
o.fixReward = parseFixReward(o.fixReward);
|
||||
o.conditionReward = parseConditionReward(o.conditionReward);
|
||||
o.parseRandomReward = parseRandomReward(o.parseRandomReward);
|
||||
o.detailUIBg = parseDetailUIBg(o.detailUIBg);
|
||||
|
||||
dicWar.set(o.war_id, o);
|
||||
if(o.warType == WAR_TYPE.PVP) {
|
||||
dicWarPvp.push(o);
|
||||
@@ -84,4 +87,11 @@ function parseRandomReward(str: string = '') {
|
||||
result.push({id: parseInt(id), count: parseInt(count), frequency: parseInt(frequency)});
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
function parseDetailUIBg(str: string = '') {
|
||||
let result = new Array<string>();
|
||||
if(!str) return result;
|
||||
let decodeArr = decodeArrayStr(str, '_');
|
||||
return decodeArr;
|
||||
}
|
||||
Reference in New Issue
Block a user