🐞 fix(gvg): 离开城池的路由错误
This commit is contained in:
@@ -224,7 +224,7 @@ export class EntryHandler {
|
||||
await leaveGVGAreaChannel(roleId, sid);
|
||||
await leaveGVGAreaTeamChannel(roleId, sid);
|
||||
await leaveGVGCityTeamChannel(roleId, sid);
|
||||
await pinus.app.rpc.guild?.guildRemote.leaveCity.broadcast(true, roleId, serverId, guildCode);
|
||||
await leaveCity(true, roleId, serverId, guildCode);
|
||||
} catch(e) {
|
||||
console.error(e.stack);
|
||||
}
|
||||
|
||||
@@ -8,11 +8,12 @@ import { setHiddenData } from '../../../services/dataService';
|
||||
import { setKvToMemory } from '../../../services/pushService';
|
||||
import { getGVGConfig, setGVGConfig, setGVGServerGroup } from '../../../services/gvg/gvgService';
|
||||
import { GVGConfigType } from '../../../db/GVGConfig';
|
||||
import { catapultHurt, gvgBattleEnd, gvgBattleSeconds, gvgBattleStart, initCatapult, leaveCity } from '../../../services/gvg/gvgBattleService';
|
||||
import { catapultHurt, gvgBattleEnd, gvgBattleSeconds, gvgBattleStart, initCatapult, leaveCityMem } from '../../../services/gvg/gvgBattleService';
|
||||
import { clearBattleMemory } from '../../../services/gvg/gvgBattleMemory';
|
||||
import { GVGLeagueType } from '../../../db/GVGLeague';
|
||||
import { updateLeagueNameMem, updateTeamRoleInfoMem } from '../../../services/gvg/gvgTeamService';
|
||||
import { resetPeriodTime, setPeriodTime } from '../../../services/gvg/gvgFightService';
|
||||
import { GVGTeamType } from '../../../db/GVGTeam';
|
||||
|
||||
export default function (app: Application) {
|
||||
new HandlerService(app, {});
|
||||
@@ -172,9 +173,9 @@ export class GuildRemote {
|
||||
}
|
||||
}
|
||||
|
||||
public async leaveCity(isForce: boolean, roleId: string, serverId: number, guildCode: string, myLeague?: GVGLeagueType) {
|
||||
public async leaveCityMem(groupKey: string, roleId: string, teams: GVGTeamType[]) {
|
||||
try {
|
||||
return leaveCity(isForce, roleId, serverId, guildCode, myLeague);
|
||||
return leaveCityMem(groupKey, roleId, teams);
|
||||
} catch(e) {
|
||||
errlogger.error(`remote ${__filename} \n ${e.stack}`);
|
||||
}
|
||||
|
||||
@@ -229,14 +229,18 @@ export async function leaveCity(isForce: boolean, roleId: string, serverId: numb
|
||||
if(myLeague) await GVGUserDataModel.changeCity(configId, myLeague.leagueCode, roleId, 0);
|
||||
await GVGCityAreaPointModel.playerLeave(configId, groupKey, roleId);
|
||||
// 处理内存数据
|
||||
let teamObj = getGVGBattleData(groupKey);
|
||||
teamObj.leaveCity(roleId);
|
||||
for(let team of teams) {
|
||||
if(team.cityId > 0 && team.areaId > 0) {
|
||||
await sendMessageToGVGAreaByTeamWithSuc(groupKey, team.areaId, PUSH_ROUTE.GVG_PLAYER_LEAVE_AREA, {
|
||||
cityId: team.cityId, areaId: team.areaId, teamCode: team.teamCode
|
||||
});
|
||||
}
|
||||
await pinus.app.rpc.guild.guildRemote.leaveCityMem.broadcast(groupKey, roleId, teams);
|
||||
}
|
||||
}
|
||||
|
||||
export async function leaveCityMem(groupKey: string, roleId: string, teams: GVGTeamType[]) {
|
||||
let teamObj = getGVGBattleData(groupKey);
|
||||
teamObj.leaveCity(roleId);
|
||||
for(let team of teams) {
|
||||
if(team.cityId > 0 && team.areaId > 0) {
|
||||
await sendMessageToGVGAreaByTeamWithSuc(groupKey, team.areaId, PUSH_ROUTE.GVG_PLAYER_LEAVE_AREA, {
|
||||
cityId: team.cityId, areaId: team.areaId, teamCode: team.teamCode
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user