covid19-demo/shuttlestudio.it/giochi/albanovsdinos/scripts/main.js

1 line
88 KiB
JavaScript
Raw Normal View History

"use strict";window.DOMHandler=class{constructor(e,t){this._iRuntime=e,this._componentId=t,this._hasTickCallback=!1,this._tickCallback=()=>this.Tick()}Attach(){}PostToRuntime(e,t,n,a){this._iRuntime.PostToRuntimeComponent(this._componentId,e,t,n,a)}PostToRuntimeAsync(e,t,n,a){return this._iRuntime.PostToRuntimeComponentAsync(this._componentId,e,t,n,a)}_PostToRuntimeMaybeSync(e,t,n){this._iRuntime.UsesWorker()?this.PostToRuntime(e,t,n):this._iRuntime._GetLocalRuntime()._OnMessageFromDOM({type:"event",component:this._componentId,handler:e,dispatchOpts:n||null,data:t,responseId:null})}AddRuntimeMessageHandler(e,t){this._iRuntime.AddRuntimeComponentMessageHandler(this._componentId,e,t)}AddRuntimeMessageHandlers(e){for(const[t,n]of e)this.AddRuntimeMessageHandler(t,n)}GetRuntimeInterface(){return this._iRuntime}GetComponentID(){return this._componentId}_StartTicking(){this._hasTickCallback||(this._iRuntime._AddRAFCallback(this._tickCallback),this._hasTickCallback=!0)}_StopTicking(){this._hasTickCallback&&(this._iRuntime._RemoveRAFCallback(this._tickCallback),this._hasTickCallback=!1)}Tick(){}},window.RateLimiter=class{constructor(e,t){this._callback=e,this._interval=t,this._timerId=-1,this._lastCallTime=-Infinity,this._timerCallFunc=()=>this._OnTimer(),this._ignoreReset=!1,this._canRunImmediate=!1}SetCanRunImmediate(e){this._canRunImmediate=!!e}Call(){if(-1===this._timerId){const e=Date.now(),t=e-this._lastCallTime,n=this._interval;t>=n&&this._canRunImmediate?(this._lastCallTime=e,this._RunCallback()):this._timerId=self.setTimeout(this._timerCallFunc,Math.max(n-t,4))}}_RunCallback(){this._ignoreReset=!0,this._callback(),this._ignoreReset=!1}Reset(){this._ignoreReset||(this._CancelTimer(),this._lastCallTime=Date.now())}_OnTimer(){this._timerId=-1,this._lastCallTime=Date.now(),this._RunCallback()}_CancelTimer(){-1!==this._timerId&&(self.clearTimeout(this._timerId),this._timerId=-1)}Release(){this._CancelTimer(),this._callback=null,this._timerCallFunc=null}},"use strict",window.DOMElementHandler=class extends DOMHandler{constructor(e,t){super(e,t),this._elementMap=new Map,this._autoAttach=!0,this.AddRuntimeMessageHandler("create",e=>this._OnCreate(e)),this.AddRuntimeMessageHandler("destroy",e=>this._OnDestroy(e)),this.AddRuntimeMessageHandler("set-visible",e=>this._OnSetVisible(e)),this.AddRuntimeMessageHandler("update-position",e=>this._OnUpdatePosition(e)),this.AddRuntimeMessageHandler("update-state",e=>this._OnUpdateState(e)),this.AddRuntimeMessageHandler("focus",e=>this._OnSetFocus(e)),this.AddRuntimeMessageHandler("set-css-style",e=>this._OnSetCssStyle(e))}SetAutoAttach(e){this._autoAttach=!!e}AddDOMElementMessageHandler(e,t){this.AddRuntimeMessageHandler(e,e=>{const n=e.elementId,a=this._elementMap.get(n);return t(a,e)})}_OnCreate(e){const t=e.elementId,n=this.CreateElement(t,e);this._elementMap.set(t,n),e.isVisible||(n.style.display="none"),this._autoAttach&&document.body.appendChild(n)}CreateElement(){throw new Error("required override")}DestroyElement(){}_OnDestroy(e){const t=e.elementId,n=this._elementMap.get(t);this.DestroyElement(n),this._autoAttach&&n.parentElement.removeChild(n),this._elementMap.delete(t)}PostToRuntimeElement(e,t,n){n||(n={}),n.elementId=t,this.PostToRuntime(e,n)}_PostToRuntimeElementMaybeSync(e,t,n){n||(n={}),n.elementId=t,this._PostToRuntimeMaybeSync(e,n)}_OnSetVisible(e){if(this._autoAttach){const t=this._elementMap.get(e.elementId);t.style.display=e.isVisible?"":"none"}}_OnUpdatePosition(e){if(this._autoAttach){const t=this._elementMap.get(e.elementId);t.style.left=e.left+"px",t.style.top=e.top+"px",t.style.width=e.width+"px",t.style.height=e.height+"px";const n=e.fontSize;null!==n&&(t.style.fontSize=n+"em")}}_OnUpdateState(e){const t=this._elementMap.get(e.elementId);this.UpdateState(t,e)}UpdateState(){throw new Error("required override")}_OnSetFocus(e){const t=this._elementMap.get(e.elementId);e.focus?t.focus():t.blur()}_OnSetCssStyle(e){const t=this._elementMap.get(e.elementId);t.style[e.prop]=e.val}GetElementById(e){return this._elementMap.get(e)}},"use strict";{function t(e){if(e.isString