From 210ac705f6fe7aa86b884dc0032cfc01c799518d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=93=D0=BB=D0=B0=D0=B2=D1=80=D0=B5=D0=B4=20=7C=20Glavred?= Date: Mon, 2 Nov 2020 15:08:57 +0300 Subject: [PATCH] =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F=20=D0=BE=D1=82=20=D0=93=D0=BB=D0=B0=D0=B2=D1=80?= =?UTF-8?q?=D0=B5=D0=B4=D0=B0=20=D0=93=D0=B8=D1=82=D0=96=D0=A1=20|=20Chang?= =?UTF-8?q?es=20of=20GitJS=20Glavred?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 0000 | 2 ++ ⨐.js | 33 +++++++++++++++++++++++++++++ 🎬.js | 22 +++++++------------- 🎬.череда | 8 +++---- 🔄.js | 53 +++++++++++++++++++++++++++++++++++++++++++++-- 🔄.череда | 5 +++++ 🧱.js | 8 +++---- 7 files changed, 105 insertions(+), 26 deletions(-) create mode 100644 ⨐.js create mode 100644 🔄.череда diff --git a/0000 b/0000 index 867cd5d..8043aef 100644 --- a/0000 +++ b/0000 @@ -2,12 +2,14 @@ 0.2.0 https://git.opengamestudio.org/KH/MAOH +x /⨐.js x /🎬.js /🎬.череда /🏁.js /🏁.череда /📦 x /🔄.js +/🔄.череда /🙈.css /🙈.html x /🙈.js diff --git a/⨐.js b/⨐.js new file mode 100644 index 0000000..8b69d16 --- /dev/null +++ b/⨐.js @@ -0,0 +1,33 @@ +function сделатьПараллельно(мир, список, функция, откликУспех, откликПровал = null) +{ + for (const номер in список) + { + функция(мир, список, номер, готово, провал); + } + + var всего = 0; + + function готово() + { + всего += 1; + if (всего == список.length) + { + откликУспех(); + } + } + + var провалУжеСообщили = false; + + function провал() + { + if (провалУжеСообщили) + { + return; + } + провалУжеСообщили = true; + if (откликПровал) + { + откликПровал(); + } + } +} \ No newline at end of file diff --git a/🎬.js b/🎬.js index af41bbf..9aab67b 100644 --- a/🎬.js +++ b/🎬.js @@ -3,32 +3,24 @@ // // // // -ВывестиОтсутствиеФункцииОбновленияМаджонга = мир => +ВывестиНеобходимостьПродолженияЗагрузки = мир => { - console.log("Функции НЕТ"); + console.debug("ВывестиНеобходимостьПродолженияЗагрузки"); }; // // // // -ВывестиНаличиеФункцииОбновленияМаджонга = мир => +ПроверитьНаличиеОбновленийМаджонга = мир => { - console.log("Функция есть"); -}; - - -// // // // - - -ПроверитьНаличиеФункцииОбновленияМаджонга = мир => -{ - if (typeof ПроверитьНаличиеОбновленийМаджонга === "function") + var событие = "надо обновить маджонг при наличии обновлений"; + if (событие in мир.события) { - мир.уведомить("функция обновления маджонга присутствует"); + мир.уведомить(событие); } else { - мир.уведомить("функция обновления маджонга отсутствует"); + мир.уведомить("обновления маджонга отсутствуют"); } }; \ No newline at end of file diff --git a/🎬.череда b/🎬.череда index a9b14b8..1f2ceaa 100644 --- a/🎬.череда +++ b/🎬.череда @@ -1,11 +1,9 @@ пуск задать заголовок отобразить страницу загрузки маджонга - проверить наличие функции обновления маджонга -функция обновления маджонга присутствует - вывести наличие функции обновления маджонга -функция обновления маджонга отсутствует - вывести отсутствие функции обновления маджонга + проверить наличие обновлений маджонга +обновления маджонга отсутствуют + вывести необходимость продолжения загрузки # загрузить библиотеки маджонга #загрузили библиотеки маджонга # загрузить череду окончания diff --git a/🔄.js b/🔄.js index c27dab9..f3564bc 100644 --- a/🔄.js +++ b/🔄.js @@ -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() { + мир.уведомить("не загрузили описание всех модулей маджонга"); + } + ); }; \ No newline at end of file diff --git a/🔄.череда b/🔄.череда new file mode 100644 index 0000000..7dc3750 --- /dev/null +++ b/🔄.череда @@ -0,0 +1,5 @@ +надо обновить маджонг при наличии обновлений + загрузить описание всех модулей маджонга +не загрузили описание всех модулей маджонга + уведомить об отсутствии обновлений маджонга +загрузили описание всех модулей маджонга \ No newline at end of file diff --git a/🧱.js b/🧱.js index cda7721..9133d90 100644 --- a/🧱.js +++ b/🧱.js @@ -14,10 +14,10 @@ ЗагрузитьЧередуОкончания = мир => { - var м = мир.модули.модульПоИмени(ИМЯ); - var содержимое = м.содержимое["/окончание|完成|completion.js"]; + var м = мир.модули.модульПоУказателю(УКАЗАТЕЛЬ_ЭТОГО_МОДУЛЯ); + var содержимое = м.содержимое["/🏁.js"]; eval(содержимое); - м.исполнитьЧереду(мир, "/окончание|完成|completion.череда"); + м.исполнитьЧереду(мир, "/🏁.череда"); }; @@ -27,7 +27,7 @@ ЗагрузитьБиблиотекиМаджонга = мир => { var указатели = []; - var м = мир.модули.модульПоИмени(ИМЯ); + var м = мир.модули.модульПоУказателю(УКАЗАТЕЛЬ_ЭТОГО_МОДУЛЯ); var содержимое = м.содержимое["/📦"]; var строки = содержимое.split(/\n/); for (var номер in строки)