🐞 fix(gvg): 离开城池的路由错误
This commit is contained in:
@@ -224,7 +224,7 @@ export class EntryHandler {
|
|||||||
await leaveGVGAreaChannel(roleId, sid);
|
await leaveGVGAreaChannel(roleId, sid);
|
||||||
await leaveGVGAreaTeamChannel(roleId, sid);
|
await leaveGVGAreaTeamChannel(roleId, sid);
|
||||||
await leaveGVGCityTeamChannel(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) {
|
} catch(e) {
|
||||||
console.error(e.stack);
|
console.error(e.stack);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,11 +8,12 @@ import { setHiddenData } from '../../../services/dataService';
|
|||||||
import { setKvToMemory } from '../../../services/pushService';
|
import { setKvToMemory } from '../../../services/pushService';
|
||||||
import { getGVGConfig, setGVGConfig, setGVGServerGroup } from '../../../services/gvg/gvgService';
|
import { getGVGConfig, setGVGConfig, setGVGServerGroup } from '../../../services/gvg/gvgService';
|
||||||
import { GVGConfigType } from '../../../db/GVGConfig';
|
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 { clearBattleMemory } from '../../../services/gvg/gvgBattleMemory';
|
||||||
import { GVGLeagueType } from '../../../db/GVGLeague';
|
import { GVGLeagueType } from '../../../db/GVGLeague';
|
||||||
import { updateLeagueNameMem, updateTeamRoleInfoMem } from '../../../services/gvg/gvgTeamService';
|
import { updateLeagueNameMem, updateTeamRoleInfoMem } from '../../../services/gvg/gvgTeamService';
|
||||||
import { resetPeriodTime, setPeriodTime } from '../../../services/gvg/gvgFightService';
|
import { resetPeriodTime, setPeriodTime } from '../../../services/gvg/gvgFightService';
|
||||||
|
import { GVGTeamType } from '../../../db/GVGTeam';
|
||||||
|
|
||||||
export default function (app: Application) {
|
export default function (app: Application) {
|
||||||
new HandlerService(app, {});
|
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 {
|
try {
|
||||||
return leaveCity(isForce, roleId, serverId, guildCode, myLeague);
|
return leaveCityMem(groupKey, roleId, teams);
|
||||||
} catch(e) {
|
} catch(e) {
|
||||||
errlogger.error(`remote ${__filename} \n ${e.stack}`);
|
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);
|
if(myLeague) await GVGUserDataModel.changeCity(configId, myLeague.leagueCode, roleId, 0);
|
||||||
await GVGCityAreaPointModel.playerLeave(configId, groupKey, roleId);
|
await GVGCityAreaPointModel.playerLeave(configId, groupKey, roleId);
|
||||||
// 处理内存数据
|
// 处理内存数据
|
||||||
let teamObj = getGVGBattleData(groupKey);
|
await pinus.app.rpc.guild.guildRemote.leaveCityMem.broadcast(groupKey, roleId, teams);
|
||||||
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, {
|
export async function leaveCityMem(groupKey: string, roleId: string, teams: GVGTeamType[]) {
|
||||||
cityId: team.cityId, areaId: team.areaId, teamCode: team.teamCode
|
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