67 lines
2.1 KiB
JavaScript
67 lines
2.1 KiB
JavaScript
let dependencyUrls = []
|
|
const maxLoadTimesTrys = 4;
|
|
|
|
//Main Libraries
|
|
dependencyUrls.push("https://www.googletagmanager.com/gtag/js?id=UA-118283086-6", "https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js");
|
|
//Ads Libraries
|
|
dependencyUrls.push("js/ads-prebid.js", "js/IronSourceRV.js", "js/cpmstar.js", "js/adsController.js");
|
|
//Firebase/Google Libraries
|
|
dependencyUrls.push("js/googleAnalytics.js", "js/firebase.js", "js/login.js", "js/firebase-config.js", "js/firestore.js")
|
|
//Game Libraries
|
|
dependencyUrls.push("js/unityUrls.js", "js/unityGame.js", "js/mobileRedirect.js", "js/fullscreen.js")
|
|
//etc. Libraries
|
|
dependencyUrls.push("js/windowResize.js", "js/adblockManager.js", "js/macUserAgent.js", "js/visibilityChangeListener.js", "PC/payment/js/xsolla.js")
|
|
|
|
dynamicallyLoadScripts();
|
|
|
|
async function dynamicallyLoadScripts() {
|
|
for (let i = 0; i < dependencyUrls.length; i++) {
|
|
let url = dependencyUrls[i];
|
|
let script = document.createElement("script");
|
|
script.src = url;
|
|
|
|
document.head.appendChild(script);
|
|
}
|
|
|
|
let trys = 0;
|
|
while (window.loadedUrls === undefined || window.firebaseLoaded === undefined || window.adsLoaded === undefined
|
|
|| window.gameScriptLoaded === undefined || window.configInit === undefined || window.adsControllerLoaded === undefined) {
|
|
await sleep(500)
|
|
trys++;
|
|
if(trys >= maxLoadTimesTrys) {
|
|
break;
|
|
}
|
|
}
|
|
|
|
initAds();
|
|
loadGame();
|
|
initFirebaseLibraries();
|
|
fixMacUserAgent();
|
|
}
|
|
|
|
function loadGame() {
|
|
let gameLoader = document.createElement("script")
|
|
gameLoader.src = getGameLoaderUrl();
|
|
gameLoader.id = "unity-loader"
|
|
gameLoader.onload = function () {
|
|
showGame();
|
|
};
|
|
|
|
let gameLoadDiv = document.getElementById("unity-loader-div");
|
|
gameLoadDiv.innerHTML = "";
|
|
gameLoadDiv.appendChild(gameLoader);
|
|
}
|
|
|
|
function initFirebaseLibraries() {
|
|
initializeFireBase();
|
|
initRemoteConfig();
|
|
}
|
|
|
|
function onUnityReady() {
|
|
checkAdBlock();
|
|
sendConfig();
|
|
}
|
|
|
|
function sleep(ms) {
|
|
return new Promise(resolve => setTimeout(resolve, ms));
|
|
} |