diff --git a/docker-compose/requirements/djangoserver/file/server/server/templates/index.html b/docker-compose/requirements/djangoserver/file/server/server/templates/index.html index 3dc3fe9..4955b63 100644 --- a/docker-compose/requirements/djangoserver/file/server/server/templates/index.html +++ b/docker-compose/requirements/djangoserver/file/server/server/templates/index.html @@ -14,6 +14,7 @@ + @@ -21,6 +22,16 @@ - +
+

METH

+
+
+
+
+
+
+
+

0%

+
diff --git a/docker-compose/requirements/nginx/static/javascript/filesLoader.js b/docker-compose/requirements/nginx/static/javascript/filesLoader.js new file mode 100644 index 0000000..cd6c0ca --- /dev/null +++ b/docker-compose/requirements/nginx/static/javascript/filesLoader.js @@ -0,0 +1,74 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* filesLoader.js :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: edbernar setTimeout(resolve, ms)); +} + +async function loadFiles() +{ + const percentText = document.getElementById('percentLoad'); + const loadBar = document.getElementsByClassName('loading-bar')[0]; + + window.addEventListener('beforeunload', () => { + Object.values(files).forEach((file) => { + URL.revokeObjectURL(file); + }); + }); + Object.entries(url_files).forEach(([key, value]) => { + fetch(value) + .then(response => response.blob()) + .then(blob => { + files[key] = URL.createObjectURL(blob); + }); + }); + while (Object.values(files).length < Object.values(url_files).length) + { + const value = Math.round(Object.values(files).length * 100 / Object.values(url_files).length) + '%' + percentText.innerText = value; + loadBar.style.width = value; + await sleep(50); + } + console.log(Object.values(files).length * 100 / Object.values(url_files).length + '%'); + console.log('files loaded :', files); +} + +export { files, loadFiles }; \ No newline at end of file diff --git a/docker-compose/requirements/nginx/static/javascript/home3D/Screen.js b/docker-compose/requirements/nginx/static/javascript/home3D/Screen.js index 2fd4e3f..d3b92d5 100644 --- a/docker-compose/requirements/nginx/static/javascript/home3D/Screen.js +++ b/docker-compose/requirements/nginx/static/javascript/home3D/Screen.js @@ -6,15 +6,13 @@ /* By: edbernar { + loader.load(files.tvModel, (gltf) => { const tv = gltf.scene.children[0]; const boundingBox = new THREE.Box3().setFromObject(tv); const center = boundingBox.getCenter(new THREE.Vector3()); @@ -51,7 +49,7 @@ class Screen tv.castShadow = true; tv.receiveShadow = true; scene.add(tv); - this.showVideo(sVideo); + this.showVideo(files.pongVideo); }, undefined, function ( error ) { console.error( error ); throw Error("Can't open file 'tv.glb'"); diff --git a/docker-compose/requirements/nginx/static/javascript/home3D/home3D.js b/docker-compose/requirements/nginx/static/javascript/home3D/home3D.js index c96b378..5981312 100644 --- a/docker-compose/requirements/nginx/static/javascript/home3D/home3D.js +++ b/docker-compose/requirements/nginx/static/javascript/home3D/home3D.js @@ -6,7 +6,7 @@ /* By: edbernar 0.99) - video.pong = '/static/video/homePage/easteregg.webm' + video.pong = files.easterEggVideo; newBgWall(); - putObject('/static/models3D/homePage/lamp.glb', -2.5, 0, 2.5, 3, 0, Math.PI + Math.PI / 8, 0); - putObject('/static/models3D/homePage/plant.glb', 1.5, 0, 3, 0.5, 0, 0, 0); - putObject('/static/models3D/homePage/gameboy.glb', -0.5, -0.075, 0.5, 0.1, 0, 0.4, 0); + putObject(files.lampModel, -2.5, 0, 2.5, 3, 0, Math.PI + Math.PI / 8, 0); + putObject(files.plantModel, 1.5, 0, 3, 0.5, 0, 0, 0); + putObject(files.gameboyModel, -0.5, -0.075, 0.5, 0.1, 0, 0.4, 0); renderer.toneMapping = THREE.LinearToneMapping; renderer.shadowMap.enabled = true; renderer.shadowMap.type = THREE.PCFSoftShadowMap; diff --git a/docker-compose/requirements/nginx/static/javascript/lobbyPage/3d.js b/docker-compose/requirements/nginx/static/javascript/lobbyPage/3d.js index 91499c1..f520a7c 100644 --- a/docker-compose/requirements/nginx/static/javascript/lobbyPage/3d.js +++ b/docker-compose/requirements/nginx/static/javascript/lobbyPage/3d.js @@ -6,11 +6,12 @@ /* By: edbernar { const popup = document.getElementById('popup-background'); const skins = document.getElementsByClassName('color-box'); diff --git a/docker-compose/requirements/nginx/static/javascript/login/main.js b/docker-compose/requirements/nginx/static/javascript/login/main.js index 16aeaa7..711e7fc 100644 --- a/docker-compose/requirements/nginx/static/javascript/login/main.js +++ b/docker-compose/requirements/nginx/static/javascript/login/main.js @@ -6,7 +6,7 @@ /* By: edbernar { - // if (isConnected) - // { - // usernameNode = document.createTextNode(userMeInfo.username); - // loginButton.replaceChild(usernameNode, pLoginButton); - // CN.new("Connected successfully", "Welcome " + userMeInfo.username, CN.defaultIcon.success); - // popout.style.display = 'none'; - // } - // }).catch((err) => { - // console.error(err); - // CN.new("Error", "An error occured while trying to connect", CN.defaultIcon.error); - // }); } function closeClickOutsiteGameMode(event) diff --git a/docker-compose/requirements/nginx/static/javascript/main.js b/docker-compose/requirements/nginx/static/javascript/main.js index cc66502..80bad8b 100644 --- a/docker-compose/requirements/nginx/static/javascript/main.js +++ b/docker-compose/requirements/nginx/static/javascript/main.js @@ -6,19 +6,22 @@ /* By: edbernar { - pageRenderer = new Page(); - launchSocket(); + loadFiles().then(() => { + pageRenderer = new Page(); + launchSocket(); + }); }); export { pageRenderer, isMobile }; \ No newline at end of file diff --git a/docker-compose/requirements/nginx/static/javascript/multiOnlineGame/Ball.js b/docker-compose/requirements/nginx/static/javascript/multiOnlineGame/Ball.js index a5a5050..38f7101 100644 --- a/docker-compose/requirements/nginx/static/javascript/multiOnlineGame/Ball.js +++ b/docker-compose/requirements/nginx/static/javascript/multiOnlineGame/Ball.js @@ -6,11 +6,10 @@ /* By: edbernar { - fetch(elem.src) - .then(response => response.blob()) - .then(blob => { - elem.blob = URL.createObjectURL(blob); - }); -}); - let spacingImages = [ 100 * 2.33 * 10 - (100 * 2.33), // 2 images 100 * 2.33 * 5 - (100 * 2.33), // 4 images @@ -140,8 +132,8 @@ class Map this.centerPos.y = 0.15; this.centerPos.z = -length / 2 + length / 2; this.mapLength = length; - scene.add(this.#createPlanes(7.5, length, -(Math.PI / 2), "planeBottom", true, '/static/img/multiOnlineGamePage/pastel.jpg')); - scene.add(this.#createPlanes(7.5, length, (Math.PI / 2), "planeTop", false, '/static/img/multiOnlineGamePage/pastel.jpg')); + scene.add(this.#createPlanes(7.5, length, -(Math.PI / 2), "planeBottom", true, files.planeTexture)); + scene.add(this.#createPlanes(7.5, length, (Math.PI / 2), "planeTop", false, files.planeTexture)); scene.add(this.#createWall(-3.5, 0.4, -length/2, "wallLeft")); scene.add(this.#createWall(3.5, 0.4, -length/2, "wallRight")); // if (obstacles) @@ -612,7 +604,7 @@ class Map continue ; } let videoTmp = null; - videoTmp = new Video(path[i].blob).video; + videoTmp = new Video(path[i].src).video; videoTmp.addEventListener('loadeddata', () => { videoTmp.play(); drawVideoOnCanvas(); @@ -656,7 +648,7 @@ class Map materialCanvas = new THREE.MeshBasicMaterial({ map: videoCanvasTexture, side: THREE.BackSide , transparent: true}); // Load the banner - loader.load( '/static/models3D/multiOnlineGame/banner.glb', (gltf) => { + loader.load(files.bannerModel, (gltf) => { this.banner = gltf.scene.children[0]; gltf = null; this.banner.material = materialCanvas; @@ -832,10 +824,6 @@ class Map ball.changeGravity(); for (let i = 0; this.arrObject && i < this.arrObject.length; i++) { - console.log("/////////////"); - console.log(this.arrObject[i].name); - console.log(name); - console.log("/////////////"); if (this.arrObject[i].name == name) { if (this.arrObject[i].name == "jumperTop") diff --git a/docker-compose/requirements/nginx/static/javascript/multiOnlineGame/multiOnlineGamePage.js b/docker-compose/requirements/nginx/static/javascript/multiOnlineGame/multiOnlineGamePage.js index 42f6e94..0ad0ec6 100644 --- a/docker-compose/requirements/nginx/static/javascript/multiOnlineGame/multiOnlineGamePage.js +++ b/docker-compose/requirements/nginx/static/javascript/multiOnlineGame/multiOnlineGamePage.js @@ -6,13 +6,13 @@ /* By: edbernar