🐞 fix(gvg): 守城顺序&投石车数据
This commit is contained in:
@@ -18,6 +18,7 @@ class GVGBattleData {
|
||||
private roleToTeam: Map<string, string[]> = new Map(); // roleId => teamCode
|
||||
private leagueToTeam: Map<string, Set<string>> = new Map(); // leagueCode => teamCode
|
||||
public areaToTeams: Map<number, Set<string>> = new Map(); // areaId => teamCode set,用于定时下发地图玩家数据
|
||||
private leagueActiveTech: Map<string, number[]> = new Map(); // 千机阁状态 leagueCode => activeTech
|
||||
|
||||
constructor(groupKey: string) {
|
||||
this.groupKey = groupKey;
|
||||
@@ -34,11 +35,11 @@ class GVGBattleData {
|
||||
}
|
||||
|
||||
public findCatapultAttackTeam(areaId: number, leagueCode: string) {
|
||||
let teams: string[] = [];
|
||||
let teams: GVGTeamMem[] = [];
|
||||
let teamCodes = this.areaToTeams.get(areaId)||new Set();
|
||||
for(let teamCode of teamCodes) {
|
||||
let team = this.teams.get(teamCode);
|
||||
if(team && team.leagueCode != leagueCode && !team.isRobot) teams.push(teamCode);
|
||||
if(team && team.leagueCode != leagueCode && !team.isRobot) teams.push(team);
|
||||
}
|
||||
return teams;
|
||||
}
|
||||
@@ -69,6 +70,9 @@ class GVGBattleData {
|
||||
this.teams.get(team.teamCode).setCity(team.cityId, team.areaId, team.pointId);
|
||||
if(team.pointId > 0 && !team.isRobot) {
|
||||
if(!this.rolePoints.has(team.roleId)) this.rolePoints.set(team.roleId, new Map());
|
||||
for(let [pointId, teamCode] of this.rolePoints.get(team.roleId)) {
|
||||
if(teamCode == team.teamCode) this.rolePoints.get(team.roleId).delete(pointId);
|
||||
}
|
||||
this.rolePoints.get(team.roleId).set(team.pointId, team.teamCode);
|
||||
}
|
||||
let teamCodesOfRole = this.roleToTeam.get(team.roleId)||[];
|
||||
@@ -200,6 +204,14 @@ class GVGBattleData {
|
||||
if(info.lv) team.lv = info.lv;
|
||||
}
|
||||
}
|
||||
|
||||
public getLeagueTech(leagueCode: string) {
|
||||
return this.leagueActiveTech.get(leagueCode);
|
||||
}
|
||||
|
||||
public setLeagueTech(leagueCode: string, activeTech: number[]) {
|
||||
this.leagueActiveTech.set(leagueCode, activeTech);
|
||||
}
|
||||
}
|
||||
|
||||
export function getGVGBattleData(groupKey: string) {
|
||||
|
||||
Reference in New Issue
Block a user