86 lines
2.5 KiB
JavaScript
86 lines
2.5 KiB
JavaScript
ОбновитьСписокТемМаджонга = мир =>
|
|
{
|
|
темы = {};
|
|
for (var указатель in мир.модули.модули)
|
|
{
|
|
var м = мир.модули.модули[указатель];
|
|
var файлы = Object.keys(м.структура).sort();
|
|
// Проверяем наличие не менее 43 файлов (42 текстуры и 1 фишка).
|
|
if (файлы.length < 43)
|
|
{
|
|
continue;
|
|
}
|
|
// Проверяем наличие 42 изображений.
|
|
естьТекстура = (файл) => { return рисовательПоддерживаетИзображениеСИменемФайла(файл); };
|
|
if (файлы.filter(естьТекстура).length < 42)
|
|
{
|
|
continue;
|
|
}
|
|
// Проверяем наличие хотя бы одного файла `*.gltf`.
|
|
естьФишка = (файл) => { return файл.endsWith(".gltf"); };
|
|
if (!файлы.filter(естьФишка).length)
|
|
{
|
|
continue;
|
|
}
|
|
темы[указатель] = {
|
|
"📁": файлы,
|
|
};
|
|
}
|
|
|
|
мир.реестрМаджонга["🀄"] = темы;
|
|
console.debug("темы:", темы);
|
|
};
|
|
|
|
|
|
// // // //
|
|
|
|
|
|
ОбновитьСписокРаскладокМаджонга = мир =>
|
|
{
|
|
раскладки = {};
|
|
for (var указатель in мир.модули.модули)
|
|
{
|
|
var м = мир.модули.модули[указатель];
|
|
var файлы = Object.keys(м.структура).sort();
|
|
var лишьРаскладки = true;
|
|
for (var н in файлы)
|
|
{
|
|
var файл = файлы[н];
|
|
if (!файл.endsWith(".layout"))
|
|
{
|
|
лишьРаскладки = false;
|
|
break;
|
|
}
|
|
}
|
|
if (лишьРаскладки)
|
|
{
|
|
раскладки[указатель] = {
|
|
"📁": файлы,
|
|
};
|
|
}
|
|
}
|
|
|
|
мир.реестрМаджонга["📍"] = раскладки;
|
|
console.debug("раскладки:", раскладки);
|
|
};
|
|
|
|
|
|
// // // //
|
|
|
|
|
|
ОбновитьРеестрМаджонга = мир =>
|
|
{
|
|
мир.уведомить("надо обновить реестр маджонга");
|
|
};
|
|
|
|
|
|
// // // //
|
|
|
|
|
|
ПодготовитьРеестрМаджонга = мир =>
|
|
{
|
|
мир.реестрМаджонга = {
|
|
"📍": {},
|
|
"🀄": {},
|
|
};
|
|
}; |