aboutsummaryrefslogtreecommitdiffstats
path: root/res
diff options
context:
space:
mode:
authorRblSb <msrblsb@gmail.com>2020-06-06 14:31:43 +0300
committerRblSb <msrblsb@gmail.com>2020-06-06 14:31:43 +0300
commit80ec4ba1747d22ec136a95d6b35ba6289e15e8ad (patch)
treebb34c1871538085084ba3f703d4dc6e61661fb62 /res
parent41e8165d3d701562af4eb78d86816fd1f88766af (diff)
Once events api, improve pause hotkey
Diffstat (limited to 'res')
-rw-r--r--res/client.js27
1 files changed, 23 insertions, 4 deletions
diff --git a/res/client.js b/res/client.js
index b210307..2c2a507 100644
--- a/res/client.js
+++ b/res/client.js
@@ -685,9 +685,11 @@ client_Buttons.initHotkeys = function(main,player) {
break;
case 80:
if(!((main.personal.group & 2) != 0)) {
- haxe_Timer.delay(function() {
- player.pause();
- },500);
+ client_JsApi.once("SetLeader",function(event) {
+ if(event.setLeader.clientName == main.personal.name) {
+ player.pause();
+ }
+ });
}
window.document.querySelector("#leader_btn").onclick();
break;
@@ -868,6 +870,21 @@ client_JsApi.forceSyncNextTick = $hx_exports["client"]["JsApi"]["forceSyncNextTi
client_JsApi.setVideoSrc = $hx_exports["client"]["JsApi"]["setVideoSrc"] = function(src) {
client_JsApi.player.changeVideoSrc(src);
};
+client_JsApi.once = $hx_exports["client"]["JsApi"]["once"] = function(type,func) {
+ client_JsApi.onceListeners.push({ type : type, func : func});
+};
+client_JsApi.fireOnceEvent = function(event) {
+ var i = 0;
+ while(i < client_JsApi.onceListeners.length) {
+ var listener = client_JsApi.onceListeners[i];
+ if(listener.type == event.type) {
+ listener.func(event);
+ HxOverrides.remove(client_JsApi.onceListeners,listener);
+ continue;
+ }
+ ++i;
+ }
+};
client_JsApi.notifyOnVideoChange = $hx_exports["client"]["JsApi"]["notifyOnVideoChange"] = function(func) {
client_JsApi.videoChange.push(func);
};
@@ -1167,8 +1184,9 @@ client_Main.prototype = {
var data = JSON.parse(e.data);
if(this.config != null && this.config.isVerbose) {
var t = data.type;
- haxe_Log.trace("Event: " + data.type,{ fileName : "src/client/Main.hx", lineNumber : 326, className : "client.Main", methodName : "onMessage", customParams : [Reflect.field(data,t.charAt(0).toLowerCase() + HxOverrides.substr(t,1,null))]});
+ haxe_Log.trace("Event: " + data.type,{ fileName : "src/client/Main.hx", lineNumber : 330, className : "client.Main", methodName : "onMessage", customParams : [Reflect.field(data,t.charAt(0).toLowerCase() + HxOverrides.substr(t,1,null))]});
}
+ client_JsApi.fireOnceEvent(data);
switch(data.type) {
case "AddVideo":
this.player.addVideoItem(data.addVideo.item,data.addVideo.atEnd);
@@ -3362,6 +3380,7 @@ Lang.ids = ["en","ru"];
Lang.lang = HxOverrides.substr($global.navigator.language,0,2).toLowerCase();
client_JsApi.videoChange = [];
client_JsApi.videoRemove = [];
+client_JsApi.onceListeners = [];
client_Settings.isSupported = false;
js_youtube_Youtube.isLoadedAPI = false;
client_Main.main();
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage