|
- const АДРЕС_АРХИВА = "https://git.opengamestudio.org/kornerr/APXuB/raw/branch/master/MAOH.zip";
- const КЛЮЧЕВОЙ_МОДУЛЬ = "https://git.opengamestudio.org/MAOH/CYMA/raw/branch/master/0000";
-
-
-
- // // // //
-
-
- СохранитьСобранныеМодули = мир =>
- {
- function сохранитьМодуль(мир, список, номер, успех, провал)
- {
- const ук = мир.списокМодулейИзАрхива[номер];
- мир.модули.сохранили.подписатьРаз(function() {
- успех();
- });
- мир.модули.сохранить(ук);
- }
-
- сделатьПоследовательно(
- мир,
- мир.списокМодулейИзАрхива,
- сохранитьМодуль,
- function() {
- мир.уведомить("сохранили собранные модули");
- }
- );
- };
-
-
- // // // //
-
-
- СобратьМодулиПриложенияИзАрхива = мир =>
- {
- function собратьМодуль(мир, список, номер, успех, провал)
- {
- const ук = мир.списокМодулейИзАрхива[номер];
- const оп = мир.описанияМодулейИзАрхива[номер];
- собратьМодульИзАрхива(
- мир,
- мир.архив,
- номер,
- ук,
- оп,
- function(модуль) {
- мир.модули.модули[модуль.указатель] = модуль;
- успех();
- }
- );
- }
-
- сделатьПоследовательно(
- мир,
- мир.списокМодулейИзАрхива,
- собратьМодуль,
- function() {
- console.debug("собрали модули приложения из архива");
- мир.уведомить("собрали модули приложения из архива");
- }
- );
- };
-
-
- // // // //
-
-
- СобратьОписанияМодулейИзАрхива = мир =>
- {
- мир.описанияМодулейИзАрхива = [];
-
- function собратьОписание(мир, список, номер, успех, провал)
- {
- const ук = список[номер];
- var файл = `${номер}/0000`;
- мир.архив.file(файл).async("string").then(function(содержимое) {
- var описание = мир.разобрать0000(содержимое);
- мир.описанияМодулейИзАрхива.push(описание);
- успех();
- });
- }
-
- сделатьПоследовательно(
- мир,
- мир.списокМодулейИзАрхива,
- собратьОписание,
- function() {
- мир.уведомить("собрали описания модулей из архива");
- console.debug("описания", мир.описанияМодулейИзАрхива);
- }
- );
- };
-
-
- // // // //
-
-
- СобратьСписокМодулейИзАрхива = мир =>
- {
- мир.архив.file("gitjs").async("string").then(function(содержимое) {
- var строки = содержимое.split(/\n/);
- var список = [];
- for (var н in строки)
- {
- var строка = строки[н];
- if (строка.length)
- {
- список.push(строка);
- }
- }
- мир.списокМодулейИзАрхива = список;
- мир.уведомить("собрали список модулей из архива");
- });
- };
-
-
- // // // //
-
-
- УведомитьОНаличииПриложения = мир =>
- {
- мир.уведомить("приложение присутствует");
- };
-
-
- // // // //
-
-
- РазобратьАрхивПриложения = мир =>
- {
- var zip = new JSZip();
- zip.loadAsync(мир.архив).then(function(архив) {
- мир.архив = архив.folder("MAOH");
- мир.уведомить("разобрали архив приложения");
- });
- };
-
-
- // // // //
-
-
- СкачатьАрхивПриложения = мир =>
- {
-
- мир.взять(
- АДРЕС_АРХИВА,
- function(содержимое) {
- мир.архив = содержимое;
- мир.уведомить("скачали архив приложения");
- },
- function(ошибка) {
- мир.уведомить("не скачали архив приложения");
- },
- true
- );
- };
-
-
- // // // //
-
-
- ПроверитьНаличиеКлючевогоМодуляПриложения = мир =>
- {
- console.debug("проверить наличие ключевого модуля приложения");
- var м = мир.модули.модули[КЛЮЧЕВОЙ_МОДУЛЬ];
- if (м)
- {
- console.debug("приложение есть");
- мир.уведомить("приложение присутствует");
- }
- else
- {
- console.debug("приложения нет");
- мир.уведомить("приложение отсутствует");
- }
- };
|