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