import GVGTeam, { GVGTeamType } from "../../db/GVGTeam"; import { nowSeconds } from "../../pubUtils/timeUtil"; // 积分点分类统计,1-3级积分点代表从小到大 export class LeagueCityPoint { // 玩家id roleId: string; // 军团id guildCode: string; // 联军id leagueCode: string; // 计分点数 pointCnt1: number; pointCnt2: number; pointCnt3: number; // 击杀守卫数 guardCnt1: number; // 击杀投石车数 catapultCnt1: number; } // 队伍状态 export class GVGTeamMem extends GVGTeam { isMoving: boolean; constructor(team: GVGTeamType) { super(); this.updateTeam(team); } public updateTeam(team: GVGTeamType) { for(let key in team) { if(key == 'lineup' || key == '_id' || key == 'createdAt' || key == 'updatedAt') continue; this[key] = team[key]; } this.isMoving = this.stopMoveTime > nowSeconds(); } public setCity(cityId: number, areaId = 0, pointId = 0) { this.cityId = cityId; this.areaId = areaId; this.pointId = pointId; } public moveToArea(areaId: number, fromAreaId: number, startMoveTime: number, stopMoveTime: number) { this.areaId = areaId; this.fromAreaId = fromAreaId; this.startMoveTime = startMoveTime; this.stopMoveTime = stopMoveTime; } public updateInfo(info: { leagueName?: string, roleName?: string, lv?: number }) { if(!info) return if(info.leagueName) this.leagueName = info.leagueName; if(info.roleName) this.roleName = info.roleName; if(info.lv) this.lv = info.lv; } }