commit
8ffed050e2
|
@ -34,6 +34,10 @@ export const importMode = generateImportFunction('mode', (name) => `../../mode/$
|
||||||
*/
|
*/
|
||||||
function generateImportFunction(type, pathParser) {
|
function generateImportFunction(type, pathParser) {
|
||||||
return async (name) => {
|
return async (name) => {
|
||||||
|
if(type == 'extension' && !game.hasExtension(name)){
|
||||||
|
await game.import(type,createEmptyExtension(name));
|
||||||
|
return;
|
||||||
|
}
|
||||||
const path = pathParser(name);
|
const path = pathParser(name);
|
||||||
// 通过浏览器自带的script标签导入可直接获取报错信息,且不会影响JS运行
|
// 通过浏览器自带的script标签导入可直接获取报错信息,且不会影响JS运行
|
||||||
// 此时代码内容也将缓存在浏览器中,故再次import后将不会重新执行代码内容(测试下来如此)
|
// 此时代码内容也将缓存在浏览器中,故再次import后将不会重新执行代码内容(测试下来如此)
|
||||||
|
@ -53,3 +57,32 @@ function generateImportFunction(type, pathParser) {
|
||||||
await game.import(type, modeContent.default);
|
await game.import(type, modeContent.default);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function createEmptyExtension(name){
|
||||||
|
return {name:name,content:function(config,pack){},precontent:function(){},config:{},help:{},package:{
|
||||||
|
character:{
|
||||||
|
character:{
|
||||||
|
},
|
||||||
|
translate:{
|
||||||
|
},
|
||||||
|
},
|
||||||
|
card:{
|
||||||
|
card:{
|
||||||
|
},
|
||||||
|
translate:{
|
||||||
|
},
|
||||||
|
list:[],
|
||||||
|
},
|
||||||
|
skill:{
|
||||||
|
skill:{
|
||||||
|
},
|
||||||
|
translate:{
|
||||||
|
},
|
||||||
|
},
|
||||||
|
intro:`扩展《${name}》尚未开启,请开启后查看信息。`,
|
||||||
|
author:"未知",
|
||||||
|
diskURL:"",
|
||||||
|
forumURL:"",
|
||||||
|
version:"1.0",
|
||||||
|
},files:{"character":[],"card":[],"skill":[],"audio":[]}}
|
||||||
|
}
|
|
@ -499,7 +499,7 @@ export async function boot() {
|
||||||
}
|
}
|
||||||
// await Promise.allSettled(_status.extensionLoading);
|
// await Promise.allSettled(_status.extensionLoading);
|
||||||
|
|
||||||
_status.extensionLoaded.filter(Boolean).forEach((name) => {
|
_status.extensionLoaded.filter(name=>game.hasExtension(name)).forEach((name) => {
|
||||||
lib.announce.publish("Noname.Init.Extension.onLoad", name);
|
lib.announce.publish("Noname.Init.Extension.onLoad", name);
|
||||||
lib.announce.publish(`Noname.Init.Extension.${name}.onLoad`, void 0);
|
lib.announce.publish(`Noname.Init.Extension.${name}.onLoad`, void 0);
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue