diff --git a/docker-compose/requirements/nginx/static/javascript/home3D/home3D.js b/docker-compose/requirements/nginx/static/javascript/home3D/home3D.js index b636b2a..9689b50 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 { + scene.remove(child); + if (child.geometry) + child.geometry.dispose(); + if (child.material) + child.material.dispose(); + if (child.texture) + child.texture.dispose(); + }); + } + scene = null; + camera = null; + mouse = null; } - isInFade = false; - if (renderer) - renderer.dispose(); - renderer = null; - if (scene) - { - scene.children.forEach(child => { - scene.remove(child); - if (child.geometry) - child.geometry.dispose(); - if (child.material) - child.material.dispose(); - if (child.texture) - child.texture.dispose(); - }); - } - scene = null; - camera = null; - mouse = null; } } @@ -120,6 +126,8 @@ function home3D() document.body.getElementsByClassName('homeSection')[0].appendChild(renderer.domElement); document.addEventListener('resize', windowUpdater); + mouse.x = 9999; + mouse.y = 9999; document.addEventListener('mousemove', mouseTracker); composer = new EffectComposer(renderer); diff --git a/docker-compose/requirements/nginx/static/javascript/lobbyPage/3d.js b/docker-compose/requirements/nginx/static/javascript/lobbyPage/3d.js new file mode 100644 index 0000000..4509595 --- /dev/null +++ b/docker-compose/requirements/nginx/static/javascript/lobbyPage/3d.js @@ -0,0 +1,148 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* 3d.js :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: edbernar { + if (child.geometry) + child.geometry.dispose(); + if (child.material) + child.material.dispose(); + if (child.texture) + child.texture.dispose(); + this.scene.remove(child); + }); + } + this.scene = null; + actualBarSelecor = null; + } +} + +class goalSelecter +{ + scene = null; + renderer = null; + camera = null; + ambiantLight = new THREE.AmbientLight(0xffffff, 35); + goal = this.createGoal(0xffffff); + + constructor(div) + { + const pos = div.getBoundingClientRect(); + this.scene = new THREE.Scene(); + this.renderer = new THREE.WebGLRenderer({antialias: true}); + this.camera = new THREE.PerspectiveCamera(60, (pos.width - 10) / (pos.height - 10)); + + this.scene.background = new THREE.Color(0x020202); + this.renderer.setSize(pos.width - 10, pos.height - 10); + this.scene.add(this.ambiantLight); + this.camera.position.set(0.7, 0.5, 0.7); + div.appendChild(this.renderer.domElement); + actualGoalSelecter = this; + this.scene.add(this.goal); + this.camera.lookAt(actualGoalSelecter.goal.position); + this.renderer.setAnimationLoop(this.#loop); + } + + createGoal(color) + { + const geometry = new THREE.BoxGeometry(1, 0.1, 0.1); + const material = new THREE.MeshPhysicalMaterial({color: color}); + const mesh = new THREE.Mesh(geometry, material); + + mesh.castShadow = true; + return (mesh); + } + + #loop() + { + actualGoalSelecter.goal.rotation.y += 0.1; + actualGoalSelecter.goal.rotation.x += 0.1; + actualGoalSelecter.goal.rotation.z += 0.1; + actualGoalSelecter.renderer.render(actualGoalSelecter.scene, actualGoalSelecter.camera); + } + + dispose() + { + if (this.renderer) + this.renderer.dispose(); + this.renderer = null; + if (this.scene) + { + this.scene.children.forEach(child => { + if (child.geometry) + child.geometry.dispose(); + if (child.material) + child.material.dispose(); + if (child.texture) + child.texture.dispose(); + this.scene.remove(child); + }); + } + this.scene = null; + actualGoalSelecter = null; + } +} + +export { barSelecter, goalSelecter } \ No newline at end of file diff --git a/docker-compose/requirements/nginx/static/javascript/lobbyPage/main.js b/docker-compose/requirements/nginx/static/javascript/lobbyPage/main.js index facdf66..eaadcd4 100644 --- a/docker-compose/requirements/nginx/static/javascript/lobbyPage/main.js +++ b/docker-compose/requirements/nginx/static/javascript/lobbyPage/main.js @@ -6,10 +6,12 @@ /* By: edbernar +#+ +:+ +#+ */ +/* By: edbernar