排行榜:一览&领取

This commit is contained in:
luying
2021-04-12 09:47:16 +08:00
parent 5dca7b304d
commit 22e6a82100
20 changed files with 496 additions and 139 deletions
+87 -25
View File
@@ -3,43 +3,44 @@ import { WoodenHorse } from "./battleField/guildActivity";
import { RoleUpdate, RoleType } from "../db/Role";
import { reduceCe } from "../pubUtils/util";
import { GuildUpdateParam } from "../db/Guild";
import { currentId } from "async_hooks";
import { HeroType } from "../db/Hero";
import { HeroType, HeroUpdate } from "../db/Hero";
// 排行榜返回玩家值
export class RankParam {
roleName: string;
lv: number;
vLv: number;
roleName: string = "";
lv: number = 0;
vLv: number = 0;
guildName: string = "";
head: number = EXTERIOR.EXTERIOR_FACE;
frame: number = EXTERIOR.EXTERIOR_FACECASE;
spine: number = EXTERIOR.EXTERIOR_APPEARANCE;
title: number;
ce: number;
title: number = 1;
ce: number = 0;
constructor(role: RoleUpdate) {
this.roleName = role.roleName;
this.lv = role.lv;
this.vLv = role.vLv;
this.head = role.head;
this.frame = role.frame;
this.spine = role.spine;
this.title = role.title;
this.guildName = role.guildName||"";
if(role.isReducedCe) {
this.ce = role.ce;
} else {
this.ce = reduceCe(role.ce);
constructor(role: RoleUpdate, fromDb: boolean) {
if(role.roleName) this.roleName = role.roleName;
if(role.lv) this.lv = role.lv;
if(role.vLv) this.vLv = role.vLv;
if(role.head) this.head = role.head;
if(role.frame) this.frame = role.frame;
if(role.spine) this.spine = role.spine;
if(role.title) this.title = role.title;
if(role.guildName) this.guildName = role.guildName||"";
if(role.ce) {
if(fromDb && !role.isReducedCe) {
this.ce = reduceCe(role.ce);
} else {
this.ce = role.ce;
}
}
}
}
export class RoleRankInfo extends RankParam {
rank: number;
roleId: string;
num: number;
time: number;
rank: number = 1;
roleId: string = "";
num: number = 0;
time: number = 0;
hero: LineupParam[];
lineup: LineupParam[];
@@ -70,6 +71,7 @@ export class GuildRankParam {
lv: number;
memberCnt: number;
leader: {
roleId: string;
roleName: string;
title: number;
lv: number;
@@ -84,6 +86,7 @@ export class GuildRankParam {
this.name = guild.name;
this.lv = guild.lv;
let leader = <RoleType>guild.leader;
console.log('**', JSON.stringify(leader))
let _leader = new GuildLeader(leader);
this.leader = _leader;
this.memberCnt = guild.memberCnt;
@@ -109,6 +112,7 @@ export class GuildRankInfo extends GuildRankParam {
}
export class GuildLeader {
roleId: string;
roleName: string;
title: number;
lv: number;
@@ -116,7 +120,8 @@ export class GuildLeader {
frame: number;
spine: number;
constructor(leader: {roleName: string, title: number, lv: number, head: number, frame: number, spine: number}) {
constructor(leader: { roleId: string, roleName: string, title: number, lv: number, head: number, frame: number, spine: number}) {
this.roleId = leader.roleId;
this.roleName = leader.roleName;
this.title = leader.title;
this.lv = leader.lv;
@@ -236,4 +241,61 @@ export interface myIdInter {
roleId?: string;
guildCode?: string;
hid?: number;
}
// 排行榜总览左边的数据
export class GeneralRankParamRole {
type: number; // 排行榜id
roleId: string;
roleName: string;
head: number;
frame: number;
spine: number;
lv: number;
vLv: number;
guildName: string;
ce: number;
num: number;
received: number[];
constructor(type: number, rankInfo: RoleRankInfo, received: number[]) {
this.type = type;
this.roleId = rankInfo.roleId;
this.roleName = rankInfo.roleName;
this.head = rankInfo.head;
this.frame = rankInfo.frame;
this.spine = rankInfo.spine;
this.lv = rankInfo.lv;
this.vLv = rankInfo.vLv;
this.guildName = rankInfo.guildName;
this.ce = rankInfo.ce;
this.num = rankInfo.num;
this.received = received;
}
}
// 排行榜右边的数据
export class GeneralRankParamBattle {
type: number;
roleId: string;
roleName: string;
guildName: string;
hid: number = 0;
skinId: number = 0;
num: number;
received: number[];
constructor(type: number, rankInfo: RoleRankInfo, hero: HeroUpdate, received: number[]) {
this.type = type;
this.roleId = rankInfo.roleId;
this.roleName = rankInfo.roleName;
this.guildName = rankInfo.guildName;
this.num = rankInfo.num;
if(hero) {
this.hid = hero.hid;
let curSkin = hero.skins.find(cur => cur.enable);
this.skinId = curSkin?curSkin.id: 0;
}
this.received = received;
}
}