@@ -2,12 +2,14 @@ | |||||
0.2.0 | 0.2.0 | ||||
https://git.opengamestudio.org/KH/MAOH | https://git.opengamestudio.org/KH/MAOH | ||||
x /⨐.js | |||||
x /🎬.js | x /🎬.js | ||||
/🎬.череда | /🎬.череда | ||||
/🏁.js | /🏁.js | ||||
/🏁.череда | /🏁.череда | ||||
/📦 | /📦 | ||||
x /🔄.js | x /🔄.js | ||||
/🔄.череда | |||||
/🙈.css | /🙈.css | ||||
/🙈.html | /🙈.html | ||||
x /🙈.js | x /🙈.js |
@@ -0,0 +1,33 @@ | |||||
function сделатьПараллельно(мир, список, функция, откликУспех, откликПровал = null) | |||||
{ | |||||
for (const номер in список) | |||||
{ | |||||
функция(мир, список, номер, готово, провал); | |||||
} | |||||
var всего = 0; | |||||
function готово() | |||||
{ | |||||
всего += 1; | |||||
if (всего == список.length) | |||||
{ | |||||
откликУспех(); | |||||
} | |||||
} | |||||
var провалУжеСообщили = false; | |||||
function провал() | |||||
{ | |||||
if (провалУжеСообщили) | |||||
{ | |||||
return; | |||||
} | |||||
провалУжеСообщили = true; | |||||
if (откликПровал) | |||||
{ | |||||
откликПровал(); | |||||
} | |||||
} | |||||
} |
@@ -3,32 +3,24 @@ | |||||
// // // // | // // // // | ||||
ВывестиОтсутствиеФункцииОбновленияМаджонга = мир => | |||||
ВывестиНеобходимостьПродолженияЗагрузки = мир => | |||||
{ | { | ||||
console.log("Функции НЕТ"); | |||||
console.debug("ВывестиНеобходимостьПродолженияЗагрузки"); | |||||
}; | }; | ||||
// // // // | // // // // | ||||
ВывестиНаличиеФункцииОбновленияМаджонга = мир => | |||||
ПроверитьНаличиеОбновленийМаджонга = мир => | |||||
{ | { | ||||
console.log("Функция есть"); | |||||
}; | |||||
// // // // | |||||
ПроверитьНаличиеФункцииОбновленияМаджонга = мир => | |||||
{ | |||||
if (typeof ПроверитьНаличиеОбновленийМаджонга === "function") | |||||
var событие = "надо обновить маджонг при наличии обновлений"; | |||||
if (событие in мир.события) | |||||
{ | { | ||||
мир.уведомить("функция обновления маджонга присутствует"); | |||||
мир.уведомить(событие); | |||||
} | } | ||||
else | else | ||||
{ | { | ||||
мир.уведомить("функция обновления маджонга отсутствует"); | |||||
мир.уведомить("обновления маджонга отсутствуют"); | |||||
} | } | ||||
}; | }; |
@@ -1,11 +1,9 @@ | |||||
пуск | пуск | ||||
задать заголовок | задать заголовок | ||||
отобразить страницу загрузки маджонга | отобразить страницу загрузки маджонга | ||||
проверить наличие функции обновления маджонга | |||||
функция обновления маджонга присутствует | |||||
вывести наличие функции обновления маджонга | |||||
функция обновления маджонга отсутствует | |||||
вывести отсутствие функции обновления маджонга | |||||
проверить наличие обновлений маджонга | |||||
обновления маджонга отсутствуют | |||||
вывести необходимость продолжения загрузки | |||||
# загрузить библиотеки маджонга | # загрузить библиотеки маджонга | ||||
#загрузили библиотеки маджонга | #загрузили библиотеки маджонга | ||||
# загрузить череду окончания | # загрузить череду окончания |
@@ -3,7 +3,56 @@ | |||||
// // // // | // // // // | ||||
ПроверитьНаличиеОбновленийМаджонга = мир => | |||||
УведомитьОбОтсутствииОбновленийМаджонга = мир => | |||||
{ | { | ||||
console.log("НАДО ПроверитьНаличиеОбновленийМаджонга"); | |||||
мир.уведомить("обновления маджонга отсутствуют"); | |||||
}; | |||||
// // // // | |||||
ЗагрузитьОписаниеВсехМодулейМаджонга = мир => | |||||
{ | |||||
var указатели = [УКАЗАТЕЛЬ_ЭТОГО_МОДУЛЯ]; | |||||
var м = мир.модули.модульПоУказателю(УКАЗАТЕЛЬ_ЭТОГО_МОДУЛЯ); | |||||
var содержимое = м.содержимое["/📦"]; | |||||
var строки = содержимое.split(/\n/); | |||||
for (var номер in строки) | |||||
{ | |||||
var строка = строки[номер]; | |||||
if (!строка.startsWith("#") && строка.length) | |||||
{ | |||||
указатели.push(строка); | |||||
} | |||||
} | |||||
мир.описанияМодулейМаджонга = []; | |||||
function загрузитьОписание(мир, список, номер, успех, провал) | |||||
{ | |||||
const указатель = список[номер]; | |||||
мир.взять( | |||||
указатель, | |||||
function(содержимое) { | |||||
мир.описанияМодулейМаджонга[указатель] = содержимое; | |||||
успех(); | |||||
}, | |||||
function(ошибка) { | |||||
провал(); | |||||
} | |||||
); | |||||
} | |||||
сделатьПараллельно( | |||||
мир, | |||||
указатели, | |||||
загрузитьОписание, | |||||
function() { | |||||
мир.уведомить("загрузили описание всех модулей маджонга"); | |||||
}, | |||||
function() { | |||||
мир.уведомить("не загрузили описание всех модулей маджонга"); | |||||
} | |||||
); | |||||
}; | }; |
@@ -0,0 +1,5 @@ | |||||
надо обновить маджонг при наличии обновлений | |||||
загрузить описание всех модулей маджонга | |||||
не загрузили описание всех модулей маджонга | |||||
уведомить об отсутствии обновлений маджонга | |||||
загрузили описание всех модулей маджонга |
@@ -14,10 +14,10 @@ | |||||
ЗагрузитьЧередуОкончания = мир => | ЗагрузитьЧередуОкончания = мир => | ||||
{ | { | ||||
var м = мир.модули.модульПоИмени(ИМЯ); | |||||
var содержимое = м.содержимое["/окончание|完成|completion.js"]; | |||||
var м = мир.модули.модульПоУказателю(УКАЗАТЕЛЬ_ЭТОГО_МОДУЛЯ); | |||||
var содержимое = м.содержимое["/🏁.js"]; | |||||
eval(содержимое); | eval(содержимое); | ||||
м.исполнитьЧереду(мир, "/окончание|完成|completion.череда"); | |||||
м.исполнитьЧереду(мир, "/🏁.череда"); | |||||
}; | }; | ||||
@@ -27,7 +27,7 @@ | |||||
ЗагрузитьБиблиотекиМаджонга = мир => | ЗагрузитьБиблиотекиМаджонга = мир => | ||||
{ | { | ||||
var указатели = []; | var указатели = []; | ||||
var м = мир.модули.модульПоИмени(ИМЯ); | |||||
var м = мир.модули.модульПоУказателю(УКАЗАТЕЛЬ_ЭТОГО_МОДУЛЯ); | |||||
var содержимое = м.содержимое["/📦"]; | var содержимое = м.содержимое["/📦"]; | ||||
var строки = содержимое.split(/\n/); | var строки = содержимое.split(/\n/); | ||||
for (var номер in строки) | for (var номер in строки) | ||||