From 3444b413ab12783c85ce73df9931142fea11b749 Mon Sep 17 00:00:00 2001 From: RblSb Date: Sun, 17 Jan 2021 22:50:39 +0300 Subject: requestLeaderOnPause option closes #13 --- src/client/Player.hx | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'src/client/Player.hx') diff --git a/src/client/Player.hx b/src/client/Player.hx index 8fe42b3..59ca11f 100644 --- a/src/client/Player.hx +++ b/src/client/Player.hx @@ -170,9 +170,28 @@ class Player { time: getTime() } }); + if (main.hasLeaderOnPauseRequest()) { + // do not remove leader if user cannot request it back + final group:Client.ClientGroup = main.isAdmin() ? Admin : User; + if (main.hasPermission(group, RequestLeaderPerm)) main.toggleLeader(); + } } public function onPause():Void { + if (main.hasLeaderOnPauseRequest() && !main.hasLeader()) { + JsApi.once(SetLeader, event -> { + final name = event.setLeader.clientName; + if (name != main.getName()) return; + main.send({ + type: Pause, pause: { + time: getTime() + } + }); + player.pause(); + }); + main.toggleLeader(); + return; + } if (!main.isLeader()) return; main.send({ type: Pause, pause: { -- cgit v1.2.3