This commit is contained in:
Evan
2026-08-31 14:05:47 +08:00
parent 74b983c74e
commit 6a3e797a9a
22965 changed files with 120 additions and 198 deletions

View File

@@ -1,12 +1,12 @@
// config.js
// const CONFIG = {
// DataServerBaseUrl: "https://test.server.001code.com", // 在这里定义服务器地址
// // DataServerBaseUrl: "https://test.server.001code.com", // 在这里定义服务器地址
// // DataServerBaseUrl: "https://test.server.001code.com",
// // DataServerBaseUrl: "https://test.server.001code.com",
// // DataServerBaseUrl: "https://test.server.001code.com",
// // DataServerBaseUrl: "https://test.server.001code.com",
// DataServerBaseUrl: "https://server.001code.com", // 在这里定义服务器地址
// // DataServerBaseUrl: "https://server.001code.com", // 在这里定义服务器地址
// // DataServerBaseUrl: "https://server.001code.com",
// // DataServerBaseUrl: "https://server.001code.com",
// // DataServerBaseUrl: "https://server.001code.com",
// // DataServerBaseUrl: "https://server.001code.com",
// version : "2025010301",
// unitycdndir : 'https://oss-rpwqy.jjwlcdn.com/001_code_unity_res_20250826',
// unitycdnbuilddir : 'https://oss-rpwqy.jjwlcdn.com/001_code_unity_res_20250826/Build',
@@ -14,7 +14,7 @@
// // 可以根据需要添加其他配置
// disabledev: false,
// disabledev: true,
// usecdn :true, //资源走CDN
// lvlock :false, //关卡5关解锁,下一关加锁
// lvlock_normal_learn :true, //常规关起锁
@@ -78,12 +78,12 @@
// const CONFIG = {
// // DataServerBaseUrl: "https://test.server.001code.com", // 在这里定义服务器地址
// // DataServerBaseUrl: "https://test.server.001code.com", // 在这里定义服务器地址
// // DataServerBaseUrl: "https://test.server.001code.com",
// DataServerBaseUrl: "https://test.server.001code.com",
// // DataServerBaseUrl: "https://test.server.001code.com",
// // DataServerBaseUrl: "https://test.server.001code.com",
// // DataServerBaseUrl: "https://server.001code.com", // 在这里定义服务器地址
// // DataServerBaseUrl: "https://server.001code.com", // 在这里定义服务器地址
// // DataServerBaseUrl: "https://server.001code.com",
// DataServerBaseUrl: "https://server.001code.com",
// // DataServerBaseUrl: "https://server.001code.com",
// // DataServerBaseUrl: "https://server.001code.com",
// version : "2025011001",
// unitycdndir : 'https://oss-rpwqy.jjwlcdn.com/001_code_unity_res_20250826',
// unitycdnbuilddir : 'https://oss-rpwqy.jjwlcdn.com/001_code_unity_res_20250826/Build',
@@ -91,8 +91,8 @@
// // 可以根据需要添加其他配置
// // disabledev: false,
// disabledev: false,
// // disabledev: true,
// disabledev: true,
// usecdn :true, //资源走CDN
// lvlock :false, //关卡5关解锁,下一关加锁
// lvlock_normal_learn : !(typeof localStorage !== 'undefined' &&
@@ -157,12 +157,12 @@
const CONFIG = {
// DataServerBaseUrl: "https://test.server.001code.com", // 在这里定义服务器地址
// DataServerBaseUrl: "https://test.server.001code.com", // 在这里定义服务器地址
// DataServerBaseUrl: "https://test.server.001code.com",
DataServerBaseUrl: "https://test.server.001code.com",
// DataServerBaseUrl: "https://test.server.001code.com",
// DataServerBaseUrl: "https://test.server.001code.com",
// DataServerBaseUrl: "https://server.001code.com", // 在这里定义服务器地址
// DataServerBaseUrl: "https://server.001code.com", // 在这里定义服务器地址
// DataServerBaseUrl: "https://server.001code.com",
DataServerBaseUrl: "https://server.001code.com",
// DataServerBaseUrl: "https://server.001code.com",
// DataServerBaseUrl: "https://server.001code.com",
version: "2026071701",
@@ -182,7 +182,7 @@ const CONFIG = {
disabledev: false,
disabledev: true,
usecdn: false,
lvlock: false,
lvlock_normal_learn: !(typeof localStorage !== 'undefined' &&
@@ -229,61 +229,64 @@ const CONFIG = {
lastGameStyle: '',
lastGameDefaultSkin: 0,
checkGameStyle(realLvId) {
let gameStyle = 'SILU';
let gameDefaultSkin = 0;
// 暂时注释掉
if (realLvId >= this.BEGINNING_REAL_LVID && realLvId <= this.END_REAL_LVID) {
realLvId = realLvId - this.BEGINNING_REAL_LVID;
if (realLvId >= 1 && realLvId <= 300) {
gameStyle = 'SILU';
gameDefaultSkin = 0;
} else if (realLvId >= 301 && realLvId <= 600) {
gameStyle = 'redArmy';
gameDefaultSkin = 2;
} else if (realLvId >= 601 && realLvId <= 900) {
gameStyle = 'numMan';
gameDefaultSkin = 3;
} else if (realLvId >= 901 && realLvId <= 1200) {
gameStyle = 'chinese';
gameDefaultSkin = 1;
} else if (realLvId >= 1201 && realLvId <= 1500) {
gameStyle = 'snow';
gameDefaultSkin = 4;
} else if (realLvId >= 1501 && realLvId <= 1800) {
gameStyle = 'SILU';
gameDefaultSkin = 0;
} else {
gameStyle = 'SILU';
gameDefaultSkin = 0;
}
}
// let gameStyle = 'SILU';
// let gameDefaultSkin = 0;
// if (realLvId >= this.BEGINNING_REAL_LVID && realLvId <= this.END_REAL_LVID) {
// realLvId = realLvId - this.BEGINNING_REAL_LVID;
// if (realLvId >= 1 && realLvId <= 300) {
// gameStyle = 'SILU';
// gameDefaultSkin = 0;
// } else if (realLvId >= 301 && realLvId <= 600) {
// gameStyle = 'redArmy';
// gameDefaultSkin = 2;
// } else if (realLvId >= 601 && realLvId <= 900) {
// gameStyle = 'numMan';
// gameDefaultSkin = 3;
// } else if (realLvId >= 901 && realLvId <= 1200) {
// gameStyle = 'chinese';
// gameDefaultSkin = 1;
// } else if (realLvId >= 1201 && realLvId <= 1500) {
// gameStyle = 'snow';
// gameDefaultSkin = 4;
// } else if (realLvId >= 1501 && realLvId <= 1800) {
// gameStyle = 'SILU';
// gameDefaultSkin = 0;
// } else {
// gameStyle = 'SILU';
// gameDefaultSkin = 0;
// }
// }
if (gameStyle !== this.lastGameStyle) {
window.unityInstance.SendMessage("GameController", "ChangeUIStyle", gameStyle);
this.lastGameStyle = gameStyle;
}
// 尝试多次发送消息,以确保 Unity 场景和 Player 对象已加载
if (gameDefaultSkin !== this.lastGameDefaultSkin) {
// 尝试多次发送消息,以确保 Unity 场景和 Player 对象已加载
const sendSkinMsg = (delay) => {
setTimeout(() => {
if (window.unityInstance) {
try {
window.unityInstance.SendMessage("Player", "CallChangeSkin", gameDefaultSkin);
console.log("CallChangeSkin sent >>> ", gameDefaultSkin);
} catch (e) {
console.log("Player not ready yet");
}
}
}, delay);
};
sendSkinMsg(2000);
sendSkinMsg(4000);
sendSkinMsg(6000);
this.lastGameDefaultSkin = gameDefaultSkin;
}
// if (gameStyle !== this.lastGameStyle) {
// window.unityInstance.SendMessage("GameController", "ChangeUIStyle", gameStyle);
// this.lastGameStyle = gameStyle;
// }
// // 尝试多次发送消息,以确保 Unity 场景和 Player 对象已加载
// if (gameDefaultSkin !== this.lastGameDefaultSkin) {
// // 尝试多次发送消息,以确保 Unity 场景和 Player 对象已加载
// const sendSkinMsg = (delay) => {
// setTimeout(() => {
// if (window.unityInstance) {
// try {
// window.unityInstance.SendMessage("Player", "CallChangeSkin", gameDefaultSkin);
// console.log("CallChangeSkin sent >>> ", gameDefaultSkin);
// } catch (e) {
// console.log("Player not ready yet");
// }
// }
// }, delay);
// };
// sendSkinMsg(2000);
// sendSkinMsg(4000);
// sendSkinMsg(6000);
// this.lastGameDefaultSkin = gameDefaultSkin;
// }
}
};

View File

@@ -58,7 +58,7 @@
<button class="pill" type="button">level C</button>
<button class="pill" type="button">level D</button>
<button class="pill" type="button">level E</button>
<!-- <button class="pill" type="button">level F</button> -->
<button class="pill" type="button">level F</button>
</div>
</section>

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

View File

@@ -16,6 +16,7 @@
var loadedLevelDbShards = new Set();
var levelDbShardPromises = new Map();
var levelPackPromises = new Map();
var bundlePackPromises = new Map();
var loadedLevelIds = new Set();
var levelPrefabsBundlePromise = null;
@@ -585,9 +586,24 @@
} catch (e3) { /* ignore */ }
}
function markLevelsSharingBundle(bundleName) {
var levels = levelsManifest && levelsManifest.levels;
var id;
if (!levels || !bundleName) return;
for (id in levels) {
if (!Object.prototype.hasOwnProperty.call(levels, id)) continue;
if (levels[id] && levels[id].bundle === bundleName) {
loadedLevelIds.add(String(id));
}
}
}
function ensureLevelPackLoaded(levelId, onProgress) {
levelId = String(levelId);
if (loadedLevelIds.has(levelId)) return Promise.resolve();
if (loadedLevelIds.has(levelId)) {
if (onProgress) onProgress(1);
return Promise.resolve();
}
if (levelPackPromises.has(levelId)) {
var pending = levelPackPromises.get(levelId);
if (onProgress) pending.then(function () { onProgress(1); }).catch(function () {});
@@ -596,14 +612,19 @@
var promise = ensureAssetsCoreLoaded().then(function () {
return ensureLevelsManifestLoaded();
}).then(function () {
if (loadedLevelIds.has(levelId)) return;
if (!levelsManifest || !levelsManifest.levels || !levelsManifest.levels[levelId]) {
return Promise.reject(new Error('关卡包未在 manifest 中: Level' + levelId));
}
if (!streamingBase) return Promise.reject(new Error('streamingBase 未初始化'));
var entry = levelsManifest.levels[levelId];
var url = joinUrl(streamingBase, 'aa/WebGL/' + entry.bundle);
var bundleName = entry.bundle;
if (bundlePackPromises.has(bundleName)) {
return bundlePackPromises.get(bundleName);
}
var url = joinUrl(streamingBase, 'aa/WebGL/' + bundleName);
dispatchLevelsBundleProgress(0);
return fetchBinaryWithProgress(
var download = fetchBinaryWithProgress(
url,
function (frac) {
dispatchLevelsBundleProgress(frac);
@@ -620,12 +641,17 @@
throw new Error('关卡包解压不完整: Level' + levelId);
}
}
loadedLevelIds.add(levelId);
markLevelsSharingBundle(bundleName);
return invalidateLevelPrefabsBundle();
}).then(function () {
dispatchLevelsBundleProgress(1);
if (onProgress) onProgress(1);
}).catch(function (e) {
bundlePackPromises.delete(bundleName);
throw e;
});
bundlePackPromises.set(bundleName, download);
return download;
}).catch(function (e) {
levelPackPromises.delete(levelId);
throw e;
@@ -1383,16 +1409,14 @@
throw new Error('catalog.json missing scenes_all/assets_all bundles: ' + names.join(', '));
}
if (!levels) {
/* levels_all 已废弃,改用 levels-manifest.json 按关分包 */
/* levels_all 已废弃,改用 levels-manifest.json 每 15 关一包 */
}
return { scenes: scenes, assets: assets, levels: levels, all: names };
}
function loadLevelsManifest(base) {
var manifestUrl = joinUrl(base, 'aa/levels-manifest.json');
return fetchLevelsDatabaseJson(manifestUrl).then(function (json) {
return json;
}).catch(function (e) {
return fetchLevelsDatabaseJson(manifestUrl).catch(function (e) {
console.warn('[mstest5] levels-manifest.json 读取失败', e);
return null;
});
@@ -1585,10 +1609,18 @@
}
var base = resolveStreamingBase(config);
var catalogUrl = joinUrl(base, 'aa/catalog.json');
return origFetch(catalogUrl, { cache: 'no-cache' }).then(function (res) {
return res.ok;
var catalogBr = catalogUrl.replace(/\.json(\?.*)?$/i, '.json.br$1');
return origFetch(catalogBr, { cache: 'no-cache' }).then(function (res) {
if (res.ok) return true;
return origFetch(catalogUrl, { cache: 'no-cache' }).then(function (plain) {
return plain.ok;
});
}).catch(function () {
return false;
return origFetch(catalogUrl, { cache: 'no-cache' }).then(function (res) {
return res.ok;
}).catch(function () {
return false;
});
});
}

Some files were not shown because too many files have changed in this diff Show More