const navBar = document.querySelector("nav") const uiButtons = document.querySelector("footer>section.left") const footer = document.querySelector("footer") const leftSection = document.querySelector("section.left") const playButton = document.querySelector("button[name='play']") const audioPourcentageLabel = document.querySelector("label[for='audioVolume']") const audio = new Audio() function startAudio() { audio.src = "./assets/audio/main_menu.mp3" audio.loop = true audio.play() audio.onended = () => { if (!audio.paused) { audio.play() } } updateVolume(audio.volume) } function muteAudio() { audio.muted = true } function unmuteAudio() { audio.muted = false } function showNavBar() { footer.style.zIndex = "-1" leftSection.style.zIndex = "-1" navBar.removeAttribute("hidden") for (const button of uiButtons.children) { button.setAttribute("hidden", "") } } function hideNavBar() { footer.style.zIndex = "9" leftSection.style.zIndex = "9" navBar.setAttribute("hidden", "") for (const button of uiButtons.children) { button.removeAttribute("hidden") } } function toggleAudio(element) { if (element.getAttribute("state") == 0) { system.call("audio::mute") element.setAttribute("state", 1) element.children[0].classList.replace("fa-music", "fa-music-slash") } else { system.call("audio::unmute") element.setAttribute("state", 0) element.children[0].classList.replace("fa-music-slash", "fa-music") } } function toggleMusic(element) { if (element.getAttribute("state") == 0) { system.call("audio::mute") element.setAttribute("state", 1) element.children[0].classList.replace("fa-pause", "fa-play") element.children[1].innerText = "Reprendre" } else { system.call("audio::unmute") element.setAttribute("state", 0) element.children[0].classList.replace("fa-play", "fa-pause") element.children[1].innerText = "Pause" } } function updateVolume(value) { audio.volume = value / 100 audioPourcentageLabel.innerText = `${value}%` } function logout() { system.call("auth::reset") document.location.href = './login.html' } system.result("server::ping", pong => { playersStatus.innerText = `${pong.players.online}/${pong.players.max}` }) function handleOptionsChanges(key, value) { system.call("game::optionSet", { key, value }) } function handleSettingsChanges(key, value) { system.call("settings::set", { key, value }) } system.result("game::parseOptions", options => { gamma.checked = options.gamma == 1 ? true : false renderClouds.checked = options.renderrenderClouds == false ? false : true guiScale.value = options.guiScale graphicsMode.checked = options.graphicsMode == 0 ? true : false renderDistance.value = options.renderDistance }) system.result("settings::read", settings => { ram.value = settings.ram.max }) system.result("hardware::ramInformation", $ram => { ram.setAttribute("max", $ram.avaibleRam) maxRam.innerText = `${Math.floor($ram.avaibleRam / 1024)} G` }) system.result("game::launch", info => { if (info.disablePlayButton) { playButton.removeAttribute("hidden") } else { playButton.setAttribute("hidden", "") } }) system.result("player::profile", playerProfile => { console.log(playerProfile) }) window.onload = () => { system.call("hardware::ramInformation") system.call("game::parseOptions") system.call("server::ping") system.call("player::profile") system.call("settings::read") startAudio() }