From 0041f8eeeed00c285c230fd38e99673c1e466ef2 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, 16 Nov 2020 18:41:11 +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 | 12 +++- пуск|run.js | 5 -- пуск|run.череда | 2 - 🎬.js | 85 +++++++++++++++++++++++++++ 🎬.череда | 15 +++++ 📦 | 2 + 🔄.js | 120 ++++++++++++++++++++++++++++++++++++++ 🔄.череда | 12 ++++ 🧱.js | 24 ++++++++ 9 files changed, 267 insertions(+), 10 deletions(-) delete mode 100644 пуск|run.js delete mode 100644 пуск|run.череда create mode 100644 🎬.js create mode 100644 🎬.череда create mode 100644 📦 create mode 100644 🔄.js create mode 100644 🔄.череда create mode 100644 🧱.js diff --git a/0000 b/0000 index 6cf9c4b..6593463 100644 --- a/0000 +++ b/0000 @@ -1,4 +1,10 @@ -Рисователь / Примеры +Рисователь / Смотри -x /пуск|run.js -/пуск|run.череда +https://git.opengamestudio.org/PuCOBATEJlb/nPuMEPbl + +x /🎬.js +/🎬.череда +/📦 +x /🔄.js +/🔄.череда +x /🧱.js \ No newline at end of file diff --git a/пуск|run.js b/пуск|run.js deleted file mode 100644 index 47eab0f..0000000 --- a/пуск|run.js +++ /dev/null @@ -1,5 +0,0 @@ -ПриветИзШаблона = мир => -{ - console.log("Привет из шаблона!"); - console.log("Hello from the template!"); -}; diff --git a/пуск|run.череда b/пуск|run.череда deleted file mode 100644 index 249204e..0000000 --- a/пуск|run.череда +++ /dev/null @@ -1,2 +0,0 @@ -пуск - привет из шаблона diff --git a/🎬.js b/🎬.js new file mode 100644 index 0000000..5bb5f60 --- /dev/null +++ b/🎬.js @@ -0,0 +1,85 @@ + + +// // // // + + +СкрытьКрутилку = мир => +{ + document.getElementById("крутилка").style.display = "none"; +}; + + +// // // // + + +ОкончитьЗагрузкуПриложения = мир => +{ + мир.уведомить("надо окончить загрузку приложения"); +}; + + +// // // // + + +ПроверитьНаличиеОбновленийПриложения = мир => +{ + // Эта функция находится вне "/🔄.js", т.к. "/🔄.js" отключаем, + // отчего этой функции просто не будет в пространстве имён. + var событие = "надо обновить приложение при наличии обновлений"; + if (событие in мир.события) + { + мир.уведомить(событие); + } + else + { + мир.уведомить("обновления приложения отсутствуют"); + } +}; + + + + + +// // // // + + +СоздатьПримерСцены = мир => +{ + мир.сцена.background = new THREE.Color(0xFFFFFF); + var коэффициент = 2; + var расстояние = 14; + мир.камера.position.y = расстояние * коэффициент; + мир.камера.position.z = расстояние; + мир.камера.lookAt(new THREE.Vector3(0, 0, 0)); + + мир.свет = new THREE.DirectionalLight(0xFFFFFF, 1); + мир.свет.position.set(-0.5, 1, 0.5).normalize(); + мир.сцена.add(мир.свет); + + мир.сцена.add(мир.фишка); +}; + + +// // // // + + +ЗагрузитьРесурсыСцены = мир => +{ + загрузитьМодельЭтогоМодуля( + мир, + "/фишка.gltf", + function(модель) { + мир.фишка = модель; + мир.уведомить("загрузили ресурсы сцены"); + } + ); +}; + + +// // // // + + +ВывестиНажатиеВРисователе = мир => +{ + console.debug("Нажатие в рисователе:", мир.позицияНажатияВРисователе); +}; \ No newline at end of file diff --git a/🎬.череда b/🎬.череда new file mode 100644 index 0000000..e68b09c --- /dev/null +++ b/🎬.череда @@ -0,0 +1,15 @@ +#пуск +# настроить рисователя по умолчанию +# загрузить ресурсы сцены +#нажатие в рисователе +# вывести нажатие в рисователе +#загрузили ресурсы сцены +# создать пример сцены + +пуск + проверить наличие обновлений приложения +обновления приложения отсутствуют + загрузить библиотеки приложения +загрузили библиотеки приложения + окончить загрузку приложения + скрыть крутилку \ No newline at end of file diff --git a/📦 b/📦 new file mode 100644 index 0000000..978f179 --- /dev/null +++ b/📦 @@ -0,0 +1,2 @@ +https://git.opengamestudio.org/PuCOBATEJlb/PuCOBATEJlb/raw/branch/master/0000 +https://git.opengamestudio.org/PuCOBATEJlb/PECYPCbl/raw/branch/master/0000 \ No newline at end of file diff --git a/🔄.js b/🔄.js new file mode 100644 index 0000000..54f093c --- /dev/null +++ b/🔄.js @@ -0,0 +1,120 @@ + + +// // // // + + +ПерезагрузитьПриложениеПослеОбновления = мир => +{ + 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 м = мир.модули.модульПоУказателю(УКАЗАТЕЛЬ_ЭТОГО_МОДУЛЯ); + var содержимое = м.содержимое["/📦"]; + var строки = содержимое.split(/\n/); + for (var номер in строки) + { + var строка = строки[номер]; + if (!строка.startsWith("#") && строка.length) + { + указатели.push(строка); + } + } + + мир.описанияМодулейПриложения = []; + + function загрузитьОписание(мир, список, номер, успех, провал) + { + const указатель = список[номер]; + мир.взять( + указатель, + function(содержимое) { + var описание = мир.разобрать0000(содержимое); + мир.описанияМодулейПриложения[указатель] = описание; + успех(); + }, + function(ошибка) { + провал(); + } + ); + } + + сделатьПараллельно( + мир, + указатели, + загрузитьОписание, + function() { + мир.уведомить("загрузили описание всех модулей приложения"); + }, + function() { + мир.уведомить("не загрузили описание всех модулей приложения"); + } + ); +}; \ No newline at end of file diff --git a/🔄.череда b/🔄.череда new file mode 100644 index 0000000..7bf8507 --- /dev/null +++ b/🔄.череда @@ -0,0 +1,12 @@ +надо обновить приложение при наличии обновлений + загрузить описание всех модулей приложения +не загрузили описание всех модулей приложения + уведомить об отсутствии обновлений приложения +загрузили описание всех модулей приложения + составить список модулей приложения для обновления + проверить наличие модулей приложения для обновления +отсутствуют модули приложения для обновления + уведомить об отсутствии обновлений приложения +присутствуют модули приложения для обновления + удалить модули приложения перед обновлением + перезагрузить приложение после обновления \ No newline at end of file diff --git a/🧱.js b/🧱.js new file mode 100644 index 0000000..c85bdc9 --- /dev/null +++ b/🧱.js @@ -0,0 +1,24 @@ +ЗагрузитьБиблиотекиПриложения = мир => +{ + var указатели = []; + var м = мир.модули.модульПоУказателю(УКАЗАТЕЛЬ_ЭТОГО_МОДУЛЯ); + var содержимое = м.содержимое["/📦"]; + var строки = содержимое.split(/\n/); + for (var номер in строки) + { + var строка = строки[номер]; + if (!строка.startsWith("#") && строка.length) + { + указатели.push(строка); + } + } + + var сообщение = "Загрузка библиотек ⚬ 加载库 ⚬ Loading libraries"; + console.debug(сообщение, указатели); + + мир.модули.использовали.подписатьРаз(function() { + мир.уведомить("ручной пуск"); + мир.уведомить("загрузили библиотеки приложения"); + }); + мир.модули.использовать(указатели); +}; \ No newline at end of file