Files
GdevelopMMOTestv1/Export/pixi-renderers/runtimegame-pixi-renderer.js
T

3 lines
13 KiB
JavaScript
Raw Normal View History

2026-07-28 10:47:32 -04:00
var gdjs;(function(l){const d=new l.Logger("PIXI game renderer"),g=[37,38,39,40],c=new Map,p=!!(typeof navigator!="undefined"&&navigator.platform.match(/(Mac|iPhone|iPod|iPad)/i));class w{constructor(e,n){this._isFullPage=!0;this._isFullscreen=!1;this._pointerLockReasons=new Set;this._pixiRenderer=null;this._threeRenderer=null;this._gameCanvas=null;this._domElementsContainer=null;this._canvasWidth=0;this._canvasHeight=0;this._keepRatio=!0;this._nextFrameId=0;this._wasDisposed=!1;this.getElectronRemote=()=>{if(typeof require=="function"){const e=this._game.getAdditionalOptions(),n=e&&e.electronRemoteRequirePath?e.electronRemoteRequirePath:"@electron/remote";try{return require(n)}catch(i){console.error(`Could not load @electron/remote from "${n}". Error is:`,i)}}return null};this._game=e,this._forceFullscreen=n,this._marginLeft=this._marginTop=this._marginRight=this._marginBottom=0,this._setupOrientation()}createStandardCanvas(e){this._throwIfDisposed();const n=document.createElement("canvas");e.appendChild(n),this.initializeRenderers(n),this.initializeCanvas(n)}initializeRenderers(e){this._throwIfDisposed(),typeof THREE!="undefined"?(this._threeRenderer=new THREE.WebGLRenderer({canvas:e,antialias:this._game.getAntialiasingMode()!=="none"&&(this._game.isAntialisingEnabledOnMobile()||!l.evtTools.common.isMobile()),preserveDrawingBuffer:!0}),this._threeRenderer.shadowMap.enabled=!0,this._threeRenderer.shadowMap.type=THREE.PCFSoftShadowMap,this._threeRenderer.useLegacyLights=!0,this._threeRenderer.autoClear=!1,this._threeRenderer.pixelRatio=window.devicePixelRatio,this._threeRenderer.setSize(this._game.getGameResolutionWidth(),this._game.getGameResolutionHeight()),this._pixiRenderer=new PIXI.Renderer({width:this._game.getGameResolutionWidth(),height:this._game.getGameResolutionHeight(),view:e,context:this._threeRenderer.getContext(),clearBeforeRender:!1,preserveDrawingBuffer:!0,antialias:!1,backgroundAlpha:0})):this._pixiRenderer=PIXI.autoDetectRenderer({width:this._game.getGameResolutionWidth(),height:this._game.getGameResolutionHeight(),view:e,preserveDrawingBuffer:!0,antialias:!1}),this._pixiRenderer.plugins.accessibility.destroy(),delete this._pixiRenderer.plugins.accessibility}initializeCanvas(e){this._gameCanvas=e,e.style.position="absolute",e.tabIndex=1,e.style.userSelect="none",e.style.outline="none";const n=document.createElement("div");n.style.position="absolute",n.style.overflow="hidden",n.style.outline="none",n.style.pointerEvents="none",n.addEventListener("scroll",i=>{n.scrollLeft=0,n.scrollTop=0,i.preventDefault()}),e.addEventListener("pointerdown",()=>{e.focus()}),n.style["-webkit-user-select"]="none",e.parentNode?.appendChild(n),this._domElementsContainer=n,this._resizeCanvas(),this._game.getScaleMode()==="nearest"&&(e.style["image-rendering"]="-moz-crisp-edges",e.style["image-rendering"]="-webkit-optimize-contrast",e.style["image-rendering"]="-webkit-crisp-edges",e.style["image-rendering"]="pixelated"),this._game.getPixelsRounding()&&(PIXI.settings.ROUND_PIXELS=!0),window.addEventListener("resize",()=>{this._game.onWindowInnerSizeChanged(),this._resizeCanvas()}),e.focus()}static getWindowInnerWidth(){return typeof window!="undefined"?window.innerWidth:800}static getWindowInnerHeight(){return typeof window!="undefined"?window.innerHeight:800}updateRendererSize(){this._resizeCanvas()}_setupOrientation(){if(typeof window=="undefined"||!window.screen||!window.screen.orientation)return;const e=this._game.getGameData().properties.orientation;try{if(e==="default"){const n=window.screen.orientation.unlock();n&&n.catch(()=>{})}else window.screen.orientation.lock(e).catch(()=>{})}catch(n){d.error("Unexpected error while setting up orientation: ",n)}}_resizeCanvas(){if(!this._pixiRenderer||!this._domElementsContainer)return;(this._pixiRenderer.width!==this._game.getGameResolutionWidth()||this._pixiRenderer.height!==this._game.getGameResolutionHeight())&&(this._pixiRenderer.resize(this._game.getGameResolutionWidth(),this._game.getGameResolutionHeight()),this._threeRenderer&&this._threeRenderer.setSize(this._game.getGame
//# sourceMappingURL=runtimegame-pixi-renderer.js.map