Browse Source

Изменения от Главреда ГитЖС | Changes of GitJS Glavred

master
Главред | Glavred 3 years ago
parent
commit
0041f8eeee
9 changed files with 267 additions and 10 deletions
  1. +9
    -3
      0000
  2. +0
    -5
      пуск|run.js
  3. +0
    -2
      пуск|run.череда
  4. +85
    -0
      🎬.js
  5. +15
    -0
      🎬.череда
  6. +2
    -0
      📦
  7. +120
    -0
      🔄.js
  8. +12
    -0
      🔄.череда
  9. +24
    -0
      🧱.js

+ 9
- 3
0000 View File

@@ -1,4 +1,10 @@
Рисователь / Примеры
Рисователь / Смотри

x /пуск|run.js
/пуск|run.череда
https://git.opengamestudio.org/PuCOBATEJlb/nPuMEPbl

x /🎬.js
/🎬.череда
/📦
x /🔄.js
/🔄.череда
x /🧱.js

+ 0
- 5
пуск|run.js View File

@@ -1,5 +0,0 @@
ПриветИзШаблона = мир =>
{
console.log("Привет из шаблона!");
console.log("Hello from the template!");
};

+ 0
- 2
пуск|run.череда View File

@@ -1,2 +0,0 @@
пуск
привет из шаблона

+ 85
- 0
🎬.js View File

@@ -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("Нажатие в рисователе:", мир.позицияНажатияВРисователе);
};

+ 15
- 0
🎬.череда View File

@@ -0,0 +1,15 @@
#пуск
# настроить рисователя по умолчанию
# загрузить ресурсы сцены
#нажатие в рисователе
# вывести нажатие в рисователе
#загрузили ресурсы сцены
# создать пример сцены

пуск
проверить наличие обновлений приложения
обновления приложения отсутствуют
загрузить библиотеки приложения
загрузили библиотеки приложения
окончить загрузку приложения
скрыть крутилку

+ 2
- 0
📦 View File

@@ -0,0 +1,2 @@
https://git.opengamestudio.org/PuCOBATEJlb/PuCOBATEJlb/raw/branch/master/0000
https://git.opengamestudio.org/PuCOBATEJlb/PECYPCbl/raw/branch/master/0000

+ 120
- 0
🔄.js View File

@@ -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() {
мир.уведомить("не загрузили описание всех модулей приложения");
}
);
};

+ 12
- 0
🔄.череда View File

@@ -0,0 +1,12 @@
надо обновить приложение при наличии обновлений
загрузить описание всех модулей приложения
не загрузили описание всех модулей приложения
уведомить об отсутствии обновлений приложения
загрузили описание всех модулей приложения
составить список модулей приложения для обновления
проверить наличие модулей приложения для обновления
отсутствуют модули приложения для обновления
уведомить об отсутствии обновлений приложения
присутствуют модули приложения для обновления
удалить модули приложения перед обновлением
перезагрузить приложение после обновления

+ 24
- 0
🧱.js View File

@@ -0,0 +1,24 @@
ЗагрузитьБиблиотекиПриложения = мир =>
{
var указатели = [];
var м = мир.модули.модульПоУказателю(УКАЗАТЕЛЬ_ЭТОГО_МОДУЛЯ);
var содержимое = м.содержимое["/📦"];
var строки = содержимое.split(/\n/);
for (var номер in строки)
{
var строка = строки[номер];
if (!строка.startsWith("#") && строка.length)
{
указатели.push(строка);
}
}
var сообщение = "Загрузка библиотек ⚬ 加载库 ⚬ Loading libraries";
console.debug(сообщение, указатели);

мир.модули.использовали.подписатьРаз(function() {
мир.уведомить("ручной пуск");
мир.уведомить("загрузили библиотеки приложения");
});
мир.модули.использовать(указатели);
};

Loading…
Cancel
Save