🐞 fix(寻宝): 寻宝有时有问题
This commit is contained in:
@@ -400,13 +400,13 @@ export async function dismissTeam(teamStatus: MemComBtlTeam, teamMap: Map<string
|
|||||||
}
|
}
|
||||||
|
|
||||||
export function setDismissTimer(teamStatus: MemComBtlTeam, teamMap: Map<string, MemComBtlTeam>, roleId: string, teamDisTimer: Map<string, NodeJS.Timer>) {
|
export function setDismissTimer(teamStatus: MemComBtlTeam, teamMap: Map<string, MemComBtlTeam>, roleId: string, teamDisTimer: Map<string, NodeJS.Timer>) {
|
||||||
if (teamIsFullToStart(teamStatus)) {
|
// if (teamIsFullToStart(teamStatus)) {
|
||||||
clearComBtlTimer(teamStatus.teamCode, teamDisTimer);
|
clearComBtlTimer(teamStatus.teamCode, teamDisTimer);
|
||||||
let timer = setTimeout(async () => {
|
let timer = setTimeout(async () => {
|
||||||
await dismissTeam(teamStatus, teamMap, roleId, teamDisTimer);
|
await dismissTeam(teamStatus, teamMap, roleId, teamDisTimer);
|
||||||
}, COM_BTL_CONST.CAP_START_TIME);
|
}, COM_BTL_CONST.CAP_START_TIME);
|
||||||
teamDisTimer.set(teamStatus.teamCode, timer);
|
teamDisTimer.set(teamStatus.teamCode, timer);
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -688,15 +688,7 @@ export async function oneTeamNotInBlack(teams: ComBattleTeamType[], roleId: stri
|
|||||||
// }
|
// }
|
||||||
|
|
||||||
export async function checkHasMyTeam(roleId: string) {
|
export async function checkHasMyTeam(roleId: string) {
|
||||||
let battles = pinus.app.getServersByType('battle');
|
return await ComBattleTeamModel.checkHasTeamByRoleId(roleId);
|
||||||
let hasMyTeam = false;
|
|
||||||
for(let server of battles) {
|
|
||||||
let checkResult = await pinus.app.rpc.battle.comBattleRemote.checkMyTeam.toServer(server.id, roleId);
|
|
||||||
if(checkResult) {
|
|
||||||
hasMyTeam = true; break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return hasMyTeam;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function checkTeamStatusAndSend(teamCode: string, roleId: string, sid: string) {
|
export async function checkTeamStatusAndSend(teamCode: string, roleId: string, sid: string) {
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ import { index, getModelForClass, prop, DocumentType } from '@typegoose/typegoos
|
|||||||
import { EXTERIOR } from '../pubUtils/dicParam';
|
import { EXTERIOR } from '../pubUtils/dicParam';
|
||||||
import { nowSeconds } from '../pubUtils/timeUtil';
|
import { nowSeconds } from '../pubUtils/timeUtil';
|
||||||
import { RoleUpdate } from './Role';
|
import { RoleUpdate } from './Role';
|
||||||
|
import { COM_TEAM_STATUS } from '../consts';
|
||||||
|
|
||||||
export class ComRoleStatusHero {
|
export class ComRoleStatusHero {
|
||||||
@prop({ required: true })
|
@prop({ required: true })
|
||||||
@@ -241,6 +242,10 @@ export default class ComBattleTeam extends BaseModel {
|
|||||||
return team;
|
return team;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static async checkHasTeamByRoleId(roleId: string) {
|
||||||
|
return await ComBattleTeamModel.exists({ roleIds: { $in: [roleId] }, status: COM_TEAM_STATUS.FIGHTING });
|
||||||
|
}
|
||||||
|
|
||||||
public static async addRole(teamCode: string, roleStatus: RoleStatus, lean = true) {
|
public static async addRole(teamCode: string, roleStatus: RoleStatus, lean = true) {
|
||||||
const team: ComBattleTeamType = await ComBattleTeamModel.findOneAndUpdate({ teamCode, roleCnt: { $lte: 2 } }, {$push: {roleIds: roleStatus.roleId, roleStatus}, $inc: {roleCnt: 1}}, {new: true}).lean(lean);
|
const team: ComBattleTeamType = await ComBattleTeamModel.findOneAndUpdate({ teamCode, roleCnt: { $lte: 2 } }, {$push: {roleIds: roleStatus.roleId, roleStatus}, $inc: {roleCnt: 1}}, {new: true}).lean(lean);
|
||||||
return team;
|
return team;
|
||||||
|
|||||||
Reference in New Issue
Block a user