import { PvpEnemies, PvpOtherHeroes } from "../../domain/dbGeneral"; import { GuildType } from "../../db/Guild"; import { RoleType, WarStar } from "../../db/Role"; import { WAR_TYPE } from "../../consts/consts"; export class PlayerDetailHero { actorId: number; lv: number; star: number; colorStar: number; quality: number; score: number; setPvpHeroInfo?(hero: PvpEnemies|PvpOtherHeroes) { this.actorId = hero.actorId; this.lv = hero.lv; this.star = hero.star; this.colorStar = hero.colorStar; this.quality = hero.quality; this.score = hero.score; } } class PlayerDetailBattle { main: number = 0; tower: number = 0; dungeon: number = 0; pvp: number = 0; constructor(warStar: WarStar[], pvp: number) { 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; } } this.pvp = pvp; } } export class PlayerDetail { roleId: string; roleName: string; lv: number; title?: number = 1; sHid?: number = 19; headHid?: number = 19; score?: number = 0; pLv?: number = 1; defCe?: number = 0; heroes: PlayerDetailHero[]; rank?:number = 0; battle?: PlayerDetailBattle = new PlayerDetailBattle([], 0); constructor(detail: PlayerDetail) { if(detail.roleId) this.roleId = detail.roleId; if(detail.roleName) this.roleName = detail.roleName; if(detail.lv) this.lv = detail.lv; if(detail.title) this.title = detail.title; if(detail.sHid) this.sHid = detail.sHid; if(detail.headHid) this.headHid = detail.headHid; if(detail.score) this.score = detail.score; if(detail.pLv) this.pLv = detail.pLv; if(detail.defCe) this.defCe = detail.defCe; if(detail.heroes) this.heroes = detail.heroes; if(detail.rank) this.rank = detail.rank; } setWarStar?(warStar: WarStar[], pvp: number) { this.battle = new PlayerDetailBattle(warStar, pvp); } } // 军团返回 export class GuildMainInfo { code: string; // 军团唯一编号 icon: number; // 头像 name: string; // 军团名 lv: number; // 等级 memberCnt: number; // 人数 isAuto: boolean; // 是否是自动加入 ceLimit: number; // 战力条件 constructor(guild: GuildType) { this.code = guild.code; this.icon = guild.icon; this.name = guild.name; this.lv = guild.lv; this.memberCnt = guild.memberCnt; this.ceLimit = guild.ceLimit; this.isAuto = guild.isAuto; } } // getGuildList里的返回 export class GuildListInfo extends GuildMainInfo { leader: string; // 团长名 hasApply: boolean = false; // 是否有申请过 constructor(guild: GuildType) { super(guild); let leader = guild.leader; if(leader) this.leader = leader.roleName; } setApply(hasApply: boolean) { this.hasApply = hasApply; } }