diff --git a/effects.js b/effects.js index 378b711..b8d5866 100644 --- a/effects.js +++ b/effects.js @@ -10,53 +10,57 @@ function getRandomInt(max) async function GameDetails( servername, serverurl, mapname, maxplayers, steamid, gamemode, volume, language ) { const config = await (await fetch("/config.json")).json(); - const audioplayer = document.getElementById("audioplayer"); - let imgArray = []; - - for (let i = 0; i < config.map[mapname].images.length; i++) + if (config.map[mapname].images.length > 0) { - imgArray[i] = new Image(); - imgArray[i].src = config.map[mapname].images[i]; + let imgArray = []; + + for (let i = 0; i < config.map[mapname].images.length; i++) + { + imgArray[i] = new Image(); + imgArray[i].src = config.map[mapname].images[i]; - let obj = document.createElement("img"); - obj.classList.add("bgImage"); - obj.src = imgArray[i].src; - document.getElementsByClassName("backgroundImages")[0].appendChild(obj); + let obj = document.createElement("img"); + obj.classList.add("bgImage"); + obj.src = imgArray[i].src; + document.getElementsByClassName("backgroundImages")[0].appendChild(obj); + } + + bgObj = document.getElementsByClassName("bgImage"); + + document.getElementsByClassName("mapName")[0].innerHTML = "

" + mapname.toUpperCase() + "

"; + document.getElementsByClassName("gamemodeName")[0].textContent = gamemode; + + + let autoCycleImages = setInterval(() => { + + if (bgObj[prevImage].classList.contains("blendInAnimation")) + bgObj[prevImage].classList.remove("blendInAnimation"); + + bgObj[prevImage].classList.add("blendOutAnimation"); + + if (bgObj[currentImage].classList.contains("blendOutAnimation")) + bgObj[currentImage].classList.remove("blendOutAnimation"); + + bgObj[currentImage].classList.add("blendInAnimation"); + + prevImage = currentImage; + currentImage++; + + if (currentImage >= imgArray.length) + currentImage = 0; + }, 5000) } - bgObj = document.getElementsByClassName("bgImage"); + if (config.map[mapname].music.length > 0) + { + const audioplayer = document.getElementById("audioplayer"); - document.getElementsByClassName("mapName")[0].innerHTML = "

" + mapname.toUpperCase() + "

"; - document.getElementsByClassName("gamemodeName")[0].textContent = gamemode; - - let autoCycleImages = setInterval(() => { - - if (bgObj[prevImage].classList.contains("blendInAnimation")) - { - bgObj[prevImage].classList.remove("blendInAnimation"); - } - - bgObj[prevImage].classList.add("blendOutAnimation"); - - if (bgObj[currentImage].classList.contains("blendOutAnimation")) - { - bgObj[currentImage].classList.remove("blendOutAnimation"); - } - - bgObj[currentImage].classList.add("blendInAnimation"); - - prevImage = currentImage; - currentImage++; - - if (currentImage >= imgArray.length) - currentImage = 0; - }, 5000) - - audioplayer.volume = 0; - let autoAdjustVolume = setInterval(() => { if (audioplayer.volume > 0.9) { clearInterval(autoAdjustVolume); return; } audioplayer.volume += 0.01}, 40); - audioplayer.src = config.map[mapname].music[getRandomInt(config.map[mapname].music.length)]; - audioplayer.play(); + audioplayer.volume = 0; + let autoAdjustVolume = setInterval(() => { if (audioplayer.volume > 0.9) { clearInterval(autoAdjustVolume); return; } audioplayer.volume += 0.01}, 40); + audioplayer.src = config.map[mapname].music[getRandomInt(config.map[mapname].music.length)]; + audioplayer.play(); + } document.getElementsByClassName("loadingEntry")[0].classList.add("blendInAnimation"); } \ No newline at end of file