aboutsummaryrefslogtreecommitdiffstats
path: root/src/client/Player.hx
diff options
context:
space:
mode:
authorRblSb <msrblsb@gmail.com>2021-01-17 22:50:39 +0300
committerRblSb <msrblsb@gmail.com>2021-01-17 22:50:39 +0300
commit3444b413ab12783c85ce73df9931142fea11b749 (patch)
tree97e128323033cedb0cf6e6c713385960b339c830 /src/client/Player.hx
parent266c0cbe76d345afe49759ba8be9ba7aadc4760d (diff)
requestLeaderOnPause option
closes #13
Diffstat (limited to 'src/client/Player.hx')
-rw-r--r--src/client/Player.hx19
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: {
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage