军团活动:粮草先行还缺event记录和权限限制
This commit is contained in:
@@ -364,18 +364,25 @@ async function guildActivitySchedule() {
|
||||
if(!statusResult) return;
|
||||
|
||||
if(statusResult.status == GUILD_ACTIVITY_STATUS.START) {
|
||||
// 断掉活动续期
|
||||
if(!guildActSecondsJobId) {
|
||||
if(dicGuildActivity.id == GUILD_ACTIVITY_TYPE.GATE_ACTIVITY) {
|
||||
guildActSecondsJobId = scheduleJob('guildActivitySeconds', `*/10 * * * * *`, gateActivitySeconds);
|
||||
} else if(dicGuildActivity.id == GUILD_ACTIVITY_TYPE.CITY_ACTIVITY) {
|
||||
guildActSecondsJobId = scheduleJob('guildActivitySeconds', `*/10 * * * * *`, cityActivitySeconds);
|
||||
} else if(dicGuildActivity.id == GUILD_ACTIVITY_TYPE.RACE_ACTIVITY) {
|
||||
// guildActSecondsJobId = scheduleJob('guildActivitySeconds', `*/1 * * * * *`, raceActivitySeconds);
|
||||
guildActSecondsJobId = scheduleJob('guildActivitySeconds', `*/1 * * * * *`, raceActivitySeconds);
|
||||
}
|
||||
}
|
||||
|
||||
if(!guildActEndJobId) {
|
||||
guildActEndJobId = scheduleJob('guildActivityEnd', statusResult.time, gateActivityEnd);
|
||||
if(dicGuildActivity.id == GUILD_ACTIVITY_TYPE.GATE_ACTIVITY) {
|
||||
guildActEndJobId = scheduleJob('guildActivityEnd', statusResult.time, gateActivityEnd);
|
||||
} else if(dicGuildActivity.id == GUILD_ACTIVITY_TYPE.CITY_ACTIVITY) {
|
||||
guildActEndJobId = scheduleJob('guildActivityEnd', statusResult.time, cityActivityEnd);
|
||||
} else if(dicGuildActivity.id == GUILD_ACTIVITY_TYPE.RACE_ACTIVITY) {
|
||||
guildActEndJobId = scheduleJob('guildActivityEnd', statusResult.time, raceActivityEnd);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -404,6 +411,17 @@ export async function guildActivityStart(dicGuildActivity?: DicGuildActivity) {
|
||||
guildActEndJobId = scheduleJob('guildActivityEnd', Date.now() + dicGuildActivity.duringTime * 1000, cityActivityEnd);
|
||||
} else if (dicGuildActivity.id == GUILD_ACTIVITY_TYPE.RACE_ACTIVITY) {
|
||||
|
||||
// 开始活动
|
||||
let servers = await getAllServers(); // 玩家serverId列表
|
||||
let guildServers = pinus.app.getServersByType('guild');
|
||||
for(let serverId of servers) {
|
||||
let sid = dispatch(serverId.toString(), guildServers);
|
||||
await pinus.app.rpc.guild.guildActivityRemote.raceActivityStart.toServer(sid.id, serverId);
|
||||
}
|
||||
|
||||
guildActSecondsJobId = scheduleJob('guildActivitySeconds', '*/1 * * * * *', raceActivitySeconds);
|
||||
// 结束时间
|
||||
guildActEndJobId = scheduleJob('guildActivityEnd', Date.now() + dicGuildActivity.duringTime * 1000, raceActivityEnd);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -419,8 +437,14 @@ export async function gateActivityEnd() {
|
||||
await pinus.app.rpc.guild.guildActivityRemote.guildActivityEnd.toServer(id, GUILD_ACTIVITY_TYPE.GATE_ACTIVITY);
|
||||
}
|
||||
|
||||
if(guildActSecondsJobId) guildActSecondsJobId.cancel();
|
||||
if(guildActEndJobId) guildActEndJobId.cancel();
|
||||
if(guildActSecondsJobId) {
|
||||
guildActSecondsJobId.cancel();
|
||||
guildActSecondsJobId = undefined;
|
||||
}
|
||||
if(guildActEndJobId) {
|
||||
guildActEndJobId.cancel();
|
||||
guildActEndJobId = undefined;
|
||||
}
|
||||
}
|
||||
|
||||
// 每10秒下发一次的任务
|
||||
@@ -442,8 +466,14 @@ export async function cityActivityEnd() {
|
||||
await pinus.app.rpc.guild.guildActivityRemote.guildActivityEnd.toServer(id, GUILD_ACTIVITY_TYPE.CITY_ACTIVITY);
|
||||
}
|
||||
|
||||
if(guildActSecondsJobId) guildActSecondsJobId.cancel();
|
||||
if(guildActEndJobId) guildActEndJobId.cancel();
|
||||
if(guildActSecondsJobId) {
|
||||
guildActSecondsJobId.cancel();
|
||||
guildActSecondsJobId = undefined;
|
||||
}
|
||||
if(guildActEndJobId) {
|
||||
guildActEndJobId.cancel();
|
||||
guildActEndJobId = undefined;
|
||||
}
|
||||
}
|
||||
|
||||
// 每10秒下发一次的任务
|
||||
@@ -455,6 +485,26 @@ export async function cityActivitySeconds() {
|
||||
}
|
||||
}
|
||||
|
||||
// 粮草先行
|
||||
// 结束军团活动
|
||||
export async function raceActivityEnd() {
|
||||
console.log('*****raceActivityEnd');
|
||||
await sendEndMsgToAll();
|
||||
let servers = pinus.app.getServersByType('guild');
|
||||
for(let { id } of servers) {
|
||||
await pinus.app.rpc.guild.guildActivityRemote.guildActivityEnd.toServer(id, GUILD_ACTIVITY_TYPE.RACE_ACTIVITY);
|
||||
}
|
||||
|
||||
if(guildActSecondsJobId) {
|
||||
guildActSecondsJobId.cancel();
|
||||
guildActSecondsJobId = undefined;
|
||||
}
|
||||
if(guildActEndJobId) {
|
||||
guildActEndJobId.cancel();
|
||||
guildActEndJobId = undefined;
|
||||
}
|
||||
}
|
||||
|
||||
// 每10秒下发一次的任务
|
||||
export async function raceActivitySeconds() {
|
||||
console.log('*****raveActivitySeconds')
|
||||
|
||||
Reference in New Issue
Block a user