From 57a041e5b75f97e1466a3f4c525d247ac6f06edd Mon Sep 17 00:00:00 2001 From: zhl Date: Thu, 25 Mar 2021 18:38:17 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=9A=82=E5=81=9C=E8=AE=A1?= =?UTF-8?q?=E6=97=B6=E7=9A=84=E8=B6=85=E6=97=B6=E8=87=AA=E5=8A=A8=E6=81=A2?= =?UTF-8?q?=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/constants/ClockNameConst.ts | 5 +++++ src/rooms/commands/PauseCommand.ts | 9 +++++++++ src/rooms/commands/ResumeCommand.ts | 2 ++ 3 files changed, 16 insertions(+) diff --git a/src/constants/ClockNameConst.ts b/src/constants/ClockNameConst.ts index a4ac92c..04fa09b 100644 --- a/src/constants/ClockNameConst.ts +++ b/src/constants/ClockNameConst.ts @@ -34,4 +34,9 @@ export class ClockNameConst { * @type {string} */ public static readonly WAITING_PREPARE = 'waiting_prepare' + /** + * 客户端暂停 + * @type {string} + */ + public static readonly CLIENT_PAUSE = 'client_pause' } diff --git a/src/rooms/commands/PauseCommand.ts b/src/rooms/commands/PauseCommand.ts index 3010245..1411ed3 100644 --- a/src/rooms/commands/PauseCommand.ts +++ b/src/rooms/commands/PauseCommand.ts @@ -1,6 +1,9 @@ import { Command } from '@colyseus/command' import { CardGameState } from '../schema/CardGameState' import { Client } from 'colyseus' +import { debugRoom } from '../../common/Debug' +import { TurnEndCommand } from './TurnEndCommand' +import { ClockNameConst } from '../../constants/ClockNameConst' export class PauseCommand extends Command { @@ -12,6 +15,12 @@ export class PauseCommand extends Command { return } let result = this.room.pauseAllSchedule() + let self = this + let timeOverPause = function () { + debugRoom('客户端暂停时间到, 自动恢复') + self.room.resumeAllSchedule() + } + this.room.beginSchedule(60 * 1000, timeOverPause, ClockNameConst.CLIENT_PAUSE) client.send('pause_s2c', {}) } } diff --git a/src/rooms/commands/ResumeCommand.ts b/src/rooms/commands/ResumeCommand.ts index 7c776fd..f9d9e48 100644 --- a/src/rooms/commands/ResumeCommand.ts +++ b/src/rooms/commands/ResumeCommand.ts @@ -1,6 +1,7 @@ import { Command } from '@colyseus/command' import { CardGameState } from '../schema/CardGameState' import { Client } from 'colyseus' +import { ClockNameConst } from '../../constants/ClockNameConst' export class ResumeCommand extends Command { @@ -11,6 +12,7 @@ export class ResumeCommand extends Command { errmsg: '当前模式不能暂停'}) return } + this.room.stopSchedule(ClockNameConst.CLIENT_PAUSE) this.room.resumeAllSchedule() client.send('resume_s2c', {}) }