diff --git a/0000 b/0000 index 8043aef..6db4204 100644 --- a/0000 +++ b/0000 @@ -1,5 +1,5 @@ МАОН -0.2.0 +0.2.1 https://git.opengamestudio.org/KH/MAOH x /⨐.js diff --git a/🎬.js b/🎬.js index 9aab67b..a13215b 100644 --- a/🎬.js +++ b/🎬.js @@ -3,24 +3,38 @@ // // // // -ВывестиНеобходимостьПродолженияЗагрузки = мир => +ОкончитьЗагрузкуМаджонга = мир => { - console.debug("ВывестиНеобходимостьПродолженияЗагрузки"); + мир.уведомить("надо окончить загрузку маджонга"); }; // // // // -ПроверитьНаличиеОбновленийМаджонга = мир => +ЗагрузитьЧередуОкончания = мир => { - var событие = "надо обновить маджонг при наличии обновлений"; + var м = мир.модули.модульПоУказателю(УКАЗАТЕЛЬ_ЭТОГО_МОДУЛЯ); + var содержимое = м.содержимое["/🏁.js"]; + eval(содержимое); + м.исполнитьЧереду(мир, "/🏁.череда"); +}; + + +// // // // + + +ПроверитьНаличиеОбновленийПриложения = мир => +{ + // Эта функция находится вне "/🔄.js", т.к. "/🔄.js" отключаем, + // отчего этой функции просто не будет в пространстве имён. + var событие = "надо обновить приложение при наличии обновлений"; if (событие in мир.события) { мир.уведомить(событие); } else { - мир.уведомить("обновления маджонга отсутствуют"); + мир.уведомить("обновления приложения отсутствуют"); } }; \ No newline at end of file diff --git a/🎬.череда b/🎬.череда index 1f2ceaa..3a0cc94 100644 --- a/🎬.череда +++ b/🎬.череда @@ -1,10 +1,9 @@ пуск задать заголовок отобразить страницу загрузки маджонга - проверить наличие обновлений маджонга -обновления маджонга отсутствуют - вывести необходимость продолжения загрузки -# загрузить библиотеки маджонга -#загрузили библиотеки маджонга -# загрузить череду окончания + проверить наличие обновлений приложения +обновления приложения отсутствуют + загрузить библиотеки приложения +загрузили библиотеки приложения + загрузить череду окончания # окончить загрузку маджонга \ No newline at end of file diff --git a/🔄.js b/🔄.js index f3564bc..54f093c 100644 --- a/🔄.js +++ b/🔄.js @@ -3,16 +3,77 @@ // // // // -УведомитьОбОтсутствииОбновленийМаджонга = мир => +ПерезагрузитьПриложениеПослеОбновления = мир => { - мир.уведомить("обновления маджонга отсутствуют"); + window.location.reload(false); }; // // // // -ЗагрузитьОписаниеВсехМодулейМаджонга = мир => +УдалитьМодулиПриложенияПередОбновлением = мир => +{ + var список = мир.списокМодулейПриложенияДляОбновления; + for (var номер in список) + { + var указатель = список[номер]; + localStorage.removeItem(указатель); + } +}; + + +// // // // + + +ПроверитьНаличиеМодулейПриложенияДляОбновления = мир => +{ + if (мир.списокМодулейПриложенияДляОбновления.length) + { + мир.уведомить("присутствуют модули приложения для обновления"); + } + else + { + мир.уведомить("отсутствуют модули приложения для обновления"); + } +} + + +// // // // + + +СоставитьСписокМодулейПриложенияДляОбновления = мир => +{ + var список = []; + var описания = мир.описанияМодулейПриложения; + for (var указатель in описания) + { + var описание = описания[указатель]; + var модуль = мир.модули.модульПоУказателю(указатель); + if ( + модуль && + модуль.версия != описание.версия + ) { + список.push(указатель); + } + } + мир.списокМодулейПриложенияДляОбновления = список; +}; + + +// // // // + + +УведомитьОбОтсутствииОбновленийПриложения = мир => +{ + мир.уведомить("обновления приложения отсутствуют"); +}; + + +// // // // + + +ЗагрузитьОписаниеВсехМодулейПриложения = мир => { var указатели = [УКАЗАТЕЛЬ_ЭТОГО_МОДУЛЯ]; var м = мир.модули.модульПоУказателю(УКАЗАТЕЛЬ_ЭТОГО_МОДУЛЯ); @@ -27,7 +88,7 @@ } } - мир.описанияМодулейМаджонга = []; + мир.описанияМодулейПриложения = []; function загрузитьОписание(мир, список, номер, успех, провал) { @@ -35,7 +96,8 @@ мир.взять( указатель, function(содержимое) { - мир.описанияМодулейМаджонга[указатель] = содержимое; + var описание = мир.разобрать0000(содержимое); + мир.описанияМодулейПриложения[указатель] = описание; успех(); }, function(ошибка) { @@ -49,10 +111,10 @@ указатели, загрузитьОписание, function() { - мир.уведомить("загрузили описание всех модулей маджонга"); + мир.уведомить("загрузили описание всех модулей приложения"); }, function() { - мир.уведомить("не загрузили описание всех модулей маджонга"); + мир.уведомить("не загрузили описание всех модулей приложения"); } ); }; \ No newline at end of file diff --git a/🔄.череда b/🔄.череда index 7dc3750..7bf8507 100644 --- a/🔄.череда +++ b/🔄.череда @@ -1,5 +1,12 @@ -надо обновить маджонг при наличии обновлений - загрузить описание всех модулей маджонга -не загрузили описание всех модулей маджонга - уведомить об отсутствии обновлений маджонга -загрузили описание всех модулей маджонга \ No newline at end of file +надо обновить приложение при наличии обновлений + загрузить описание всех модулей приложения +не загрузили описание всех модулей приложения + уведомить об отсутствии обновлений приложения +загрузили описание всех модулей приложения + составить список модулей приложения для обновления + проверить наличие модулей приложения для обновления +отсутствуют модули приложения для обновления + уведомить об отсутствии обновлений приложения +присутствуют модули приложения для обновления + удалить модули приложения перед обновлением + перезагрузить приложение после обновления \ No newline at end of file diff --git a/🧱.js b/🧱.js index 9133d90..c85bdc9 100644 --- a/🧱.js +++ b/🧱.js @@ -1,30 +1,4 @@ - - -// // // // - - -ОкончитьЗагрузкуМаджонга = мир => -{ - мир.уведомить("надо окончить загрузку маджонга"); -}; - - -// // // // - - -ЗагрузитьЧередуОкончания = мир => -{ - var м = мир.модули.модульПоУказателю(УКАЗАТЕЛЬ_ЭТОГО_МОДУЛЯ); - var содержимое = м.содержимое["/🏁.js"]; - eval(содержимое); - м.исполнитьЧереду(мир, "/🏁.череда"); -}; - - -// // // // - - -ЗагрузитьБиблиотекиМаджонга = мир => +ЗагрузитьБиблиотекиПриложения = мир => { var указатели = []; var м = мир.модули.модульПоУказателю(УКАЗАТЕЛЬ_ЭТОГО_МОДУЛЯ); @@ -44,7 +18,7 @@ мир.модули.использовали.подписатьРаз(function() { мир.уведомить("ручной пуск"); - мир.уведомить("загрузили библиотеки маджонга"); + мир.уведомить("загрузили библиотеки приложения"); }); мир.модули.использовать(указатели); }; \ No newline at end of file