diff --git a/0000 b/0000 index 050e499..7e36b39 100644 --- a/0000 +++ b/0000 @@ -1,7 +1,8 @@ МАОН -1.0.4 +1.0.5 https://git.opengamestudio.org/MAOH/MAOH +x /f.js x /🔄.js /🔄.череда x /🗄️.js diff --git a/f.js b/f.js new file mode 100644 index 0000000..ebec0d1 --- /dev/null +++ b/f.js @@ -0,0 +1,35 @@ +собратьМодульИзАрхива = (мир, архив, номерМодуля, указатель, описание, готово) => +{ + var список = Object.keys(описание.структура).sort(); + var модуль = + new Модуль( + описание.имя, + описание.версия, + описание["🏠"], + указатель, + указатель + "/..", + описание.структура + ); + модуль.содержимое = {}; + + function собратьМодуль(мир, список, номер, успех, провал) + { + const файл = список[номер]; + var свойства = описание.структура[файл]; + var тип = свойства.двоичный ? "arraybuffer" : "string"; + var путь = `${номерМодуля}${файл}`; + архив.file(путь).async(тип).then(function(содержимое) { + модуль.содержимое[файл] = содержимое; + успех(); + }); + } + + мир.сделатьПоследовательно( + мир, + список, + собратьМодуль, + function() { + готово(модуль); + } + ); +}; diff --git a/🗜️.js b/🗜️.js index 9dc4a09..011b291 100644 --- a/🗜️.js +++ b/🗜️.js @@ -2,51 +2,61 @@ const АДРЕС_АРХИВА = "https://git.opengamestudio.org/kornerr/APXuB/ra const КЛЮЧЕВОЙ_МОДУЛЬ = "https://git.opengamestudio.org/MAOH/CYMA/raw/branch/master/0000"; + // // // // -СохранитьМодулиПриложенияИзАрхива = мир => +СохранитьСобранныеМодули = мир => { - console.debug("сохранить модули приложения из архива"); - - var номер = 0; - const ук = мир.списокМодулейИзАрхива[номер]; - const описание = мир.описанияМодулейИзАрхива[номер]; - var список = Object.keys(описание.структура).sort(); - console.debug("список", список); + function сохранитьМодуль(мир, список, номер, успех, провал) + { + const ук = мир.списокМодулейИзАрхива[номер]; + мир.модули.сохранили.подписатьРаз(function() { + успех(); + }); + мир.модули.сохранить(ук); + } - var модуль = - new Модуль( - описание.имя, - описание.версия, - описание["🏠"], - указатель, - указатель + "/..", - описание.структура - ); - модуль.содержимое = {}; + сделатьПоследовательно( + мир, + мир.списокМодулейИзАрхива, + сохранитьМодуль, + function() { + мир.уведомить("сохранили собранные модули"); + } + ); +}; + + +// // // // + +СобратьМодулиПриложенияИзАрхива = мир => +{ function собратьМодуль(мир, список, номер, успех, провал) { - const файл = список[номер]; - var свойства = описание.структура[файл]; - var тип = свойства.двоичный ? "arraybuffer" : "string"; - var путь = `${номер}${файл}`; - console.debug("путь", путь); - мир.архив.file(путь).async(тип).then(function(содержимое) { - модуль.содержимое[файл] = содержимое; - успех(); - }); + const ук = мир.списокМодулейИзАрхива[номер]; + const оп = мир.описанияМодулейИзАрхива[номер]; + собратьМодульИзАрхива( + мир, + мир.архив, + номер, + ук, + оп, + function(модуль) { + мир.модули.модули[модуль.указатель] = модуль; + успех(); + } + ); } сделатьПоследовательно( мир, - список, + мир.списокМодулейИзАрхива, собратьМодуль, function() { - //мир.уведомить("собрали содержимое модулей из архива"); - //console.debug("описания", мир.описанияМодулейИзАрхива); - console.debug("собранный модуль", модуль); + console.debug("собрали модули приложения из архива"); + мир.уведомить("собрали модули приложения из архива"); } ); }; @@ -107,7 +117,7 @@ const КЛЮЧЕВОЙ_МОДУЛЬ = "https://git.opengamestudio.org/MAOH/CYMA/ // // // // -УведомитьОЯкобыНаличииПриложения = мир => +УведомитьОНаличииПриложения = мир => { мир.уведомить("приложение присутствует"); }; diff --git a/🗜️.череда b/🗜️.череда index 6fb9a3b..e66381d 100644 --- a/🗜️.череда +++ b/🗜️.череда @@ -3,7 +3,7 @@ приложение отсутствует скачать архив приложения не скачали архив приложения - уведомить о якобы наличии приложения + уведомить о наличии приложения скачали архив приложения разобрать архив приложения разобрали архив приложения @@ -11,4 +11,8 @@ собрали список модулей из архива собрать описания модулей из архива собрали описания модулей из архива - сохранить модули приложения из архива \ No newline at end of file + собрать модули приложения из архива +собрали модули приложения из архива + сохранить собранные модули +сохранили собранные модули + уведомить о наличии приложения \ No newline at end of file