From 4ef45f9f021a1f84718a0d4d33afecaf0fbb1bd9 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: Wed, 18 Nov 2020 15:39:46 +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 | 2 +- ⨐.js | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++- 📖.js | 58 ++++++++++++--------------------------------------------- 3 files changed, 69 insertions(+), 48 deletions(-) diff --git a/0000 b/0000 index ea071bc..f7a0485 100644 --- a/0000 +++ b/0000 @@ -1,5 +1,5 @@ Рисователь -0.4.0 +0.4.1 https://git.opengamestudio.org/PuCOBATEJlb/PuCOBATEJlb /base64js.min.js diff --git a/⨐.js b/⨐.js index 7127e6a..94cd4ee 100644 --- a/⨐.js +++ b/⨐.js @@ -3,7 +3,62 @@ // // // // -форматИзображенияДляБазы64 = (файл) => +загрузитьРесурсыПоследовательно = (мир, функция, словарь, событие) => +{ + var список = словарьРесурсовВСписок(словарь); + + function загрузить(мир, список, номер, успех, провал) + { + const э = список[номер]; + функция( + мир, + э.указатель, + э.файл, + function(ресурс) { + словарь[э.указатель][э.файл] = ресурс; + успех(); + }, + function() { + успех(); + } + ); + } + + сделатьПоследовательно( + мир, + список, + загрузить, + function() { + мир.уведомить(событие); + } + ); +}; + + +// // // // + + +словарьРесурсовВСписок = словарь => +{ + var список = []; + for (var указатель in словарь) + { + for (var файл in словарь[указатель]) + { + список.push({ + "указатель": указатель, + "файл": файл, + }); + } + } + return список; +}; + + +// // // // + + +форматИзображенияДляБазы64 = файл => { var форматы = { ".png": "png", diff --git a/📖.js b/📖.js index 3a926a2..293f7b7 100644 --- a/📖.js +++ b/📖.js @@ -5,29 +5,12 @@ ЗагрузитьТекстуры = мир => { - var план = 0; - var факт = 0; - - for (var указатель in мир.текстуры) - { - for (var файл in мир.текстуры[указатель]) - { - ++план; - загрузитьТекстуру( - мир, - указатель, - файл, - function(текстура) { - мир.текстуры[указатель][файл] = текстура; - - if (++факт == план) - { - мир.уведомить("загрузили текстуры"); - } - } - ); - } - } + загрузитьРесурсыПоследовательно( + мир, + загрузитьТекстуру, + мир.текстуры, + "загрузили текстуры" + ); }; @@ -36,27 +19,10 @@ ЗагрузитьПолигональныеСетки = мир => { - var план = 0; - var факт = 0; - - for (var указатель in мир.полигональныеСетки) - { - for (var файл in мир.полигональныеСетки[указатель]) - { - ++план; - загрузитьПолигональнуюСетку( - мир, - указатель, - файл, - function(сетка) { - мир.полигональныеСетки[указатель][файл] = сетка; - - if (++факт == план) - { - мир.уведомить("загрузили полигональные сетки"); - } - } - ); - } - } + загрузитьРесурсыПоследовательно( + мир, + загрузитьПолигональнуюСетку, + мир.полигональныеСетки, + "загрузили полигональные сетки" + ); }; \ No newline at end of file