diff options
| author | RblSb <msrblsb@gmail.com> | 2021-01-17 22:50:39 +0300 |
|---|---|---|
| committer | RblSb <msrblsb@gmail.com> | 2021-01-17 22:50:39 +0300 |
| commit | 3444b413ab12783c85ce73df9931142fea11b749 (patch) | |
| tree | 97e128323033cedb0cf6e6c713385960b339c830 /src/client/Player.hx | |
| parent | 266c0cbe76d345afe49759ba8be9ba7aadc4760d (diff) | |
requestLeaderOnPause option
closes #13
Diffstat (limited to 'src/client/Player.hx')
| -rw-r--r-- | src/client/Player.hx | 19 |
1 files changed, 19 insertions, 0 deletions
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: { |
