(function () { const version = "0.0.1"; console.log("Alchemie Mechanisms Interactive " + version); console.log("Proprietary and Confidential"); console.log("Copyright Alchemie 2019-2020"); // console.log('Responsive WebGL Template by SIMMER.io v2019.02.08'); // console.log('Available at: https://assetstore.unity.com/packages/tools/gui/responsive-webgl-template-117308 for free!'); // console.log('Host your WebGL Game at SIMMER.io for free!'); const q = (selector) => document.querySelector(selector); const gameContainer = q('#gameContainer'); const initialDimensions = { width: parseInt(gameContainer.style.width, 10), height: parseInt(gameContainer.style.height, 10) }; gameContainer.style.width = '100%'; gameContainer.style.height = '100%'; let gCanvasElement = null; const getCanvasFromMutationsList = (mutationsList) => { for (let mutationItem of mutationsList) { for (let addedNode of mutationItem.addedNodes) { if (addedNode.id === '#canvas') { return addedNode; } } } return null; } const setDimensions = () => { gameContainer.style.position = 'absolute'; gCanvasElement.style.display = 'none'; var winW = parseInt(window.getComputedStyle(gameContainer).width, 10); var winH = parseInt(window.getComputedStyle(gameContainer).height, 10); var scale = Math.min(winW / initialDimensions.width, winH / initialDimensions.height); gCanvasElement.style.display = ''; gCanvasElement.style.width = 'auto'; gCanvasElement.style.height = 'auto'; var fitW = Math.round(initialDimensions.width * scale * 100) / 100; var fitH = Math.round(initialDimensions.height * scale * 100) / 100; gCanvasElement.setAttribute('width', fitW); gCanvasElement.setAttribute('height', fitH); } window.setDimensions = setDimensions; const registerCanvasWatcher = () => { let debounceTimeout = null; const debouncedSetDimensions = () => { if (debounceTimeout !== null) { clearTimeout(debounceTimeout); } debounceTimeout = setTimeout(setDimensions, 200); } window.addEventListener('resize', debouncedSetDimensions, false); setDimensions(); } window.UnityLoader.Error.handler = function () { } const i = 0; new MutationObserver(function (mutationsList) { const canvas = getCanvasFromMutationsList(mutationsList) if (canvas) { gCanvasElement = canvas; registerCanvasWatcher(); new MutationObserver(function (attributesMutation) { this.disconnect(); setTimeout(setDimensions, 1) q('.simmer').classList.add('hide'); }).observe(canvas, { attributes: true }); this.disconnect(); } }).observe(gameContainer, { childList: true }); })();