Files
APXuBuPOBATb-MAOH/🏁.js

240 lines
7.2 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

const РАССТОЯНИЕ = 40;
const КОЭФФИЦИЕНТ_ВЫСОТЫ = 1.5;
// ?? // ??
ОтладитьСменуНастроекПриНажатии = мир =>
{
var менять = null;
if (мир.позицияНажатияВРисователе.x > 0.9)
{
менять = 1;
}
if (мир.позицияНажатияВРисователе.x < 0.1)
{
менять = -1;
}
if (!менять)
{
return;
}
var н = 0;
if (менять == 1)
{
н = 1;
}
// Переключаем тему.
var указатель = мир.реестрМаджонга["🀄"][н]["📦"];
var файл = мир.реестрМаджонга["🀄"][н]["📁"][42];
if (
(мир.настройкиМаджонга["🀄/📦"] != указатель) &&
(мир.настройкиМаджонга["🀄/📁"] != файл)
) {
мир.настройкиМаджонга["🀄/📦"] = указатель;
мир.настройкиМаджонга["🀄/📁"] = файл;
мир.уведомить("изменили настройки маджонга");
}
};
// // // //
ПроверитьОкна = мир =>
{
var окно = создатьОкноСОтступами("пример");
окно.плавно.отобразить();
};
// // // //
ВывестиПоражение = мир =>
{
console.debug("ПОРАЖЕНИЕ");
};
// // // //
ВывестиПобеду = мир =>
{
console.debug("ПОБЕДА");
};
// // // //
ЗадатьФишкуДляВыбора = мир =>
{
var номер = мир.выбранныйУзел.userData;
мир.фишкаМаджонгаДляВыбора = номер;
}
// // // //
ПодготовитьФишкиКВыбору = мир =>
{
мир.выборныеУзлы = мир.фишкиСцены;
};
// // // //
ПодготовитьсяКСозданиюФишек = мир =>
{
var настройки = мир.настройкиМаджонга;
var м = мир.модули.модульПоУказателю(настройки["📍/📦"]);
var содержимое = м.содержимое[настройки["📍/📁"]];
var позиции = разобратьРаскладкуKMahjongg(содержимое);
var фишки = [];
var группа = 0;
for (var номер in позиции)
{
var п = позиции[номер];
фишки.push({
"📍": [п[0], п[1], п[2]],
"🚩": группа,
});
if (номер % 2)
{
++группа;
if (группа > 41)
{
группа = 0;
}
}
};
мир.фишкиМаджонга = фишки;
мир.модельФишкиСцены = мир.полигональныеСетки[настройки["🀄/📦"]][настройки["🀄/📁"]];
мир.сцена.add(мир.сценаМаджонга);
};
// // // //
СоздатьМатериалыФишек = мир =>
{
var настройки = мир.настройкиМаджонга;
мир.материалыФишекСцены = [];
мир.выбранныеМатериалыФишекСцены = [];
var текстуры = мир.текстуры[настройки["🀄/📦"]];
for (var имя in текстуры)
{
var текстура = текстуры[имя];
var материал = new THREE.MeshLambertMaterial({
map: текстура,
color: new THREE.Color(0xCCCCCC),
});
мир.материалыФишекСцены.push(материал);
var выбранныйМатериал = new THREE.MeshLambertMaterial({
map: текстура,
color: new THREE.Color(0xFFFFFF),
});
мир.выбранныеМатериалыФишекСцены.push(выбранныйМатериал);
}
};
// // // //
ПодготовитьсяКЗагрузкеРесурсов = мир =>
{
var настройки = мир.настройкиМаджонга;
мир.полигональныеСетки = {
[настройки["🀄/📦"]]: {
[настройки["🀄/📁"]]: null,
},
};
мир.текстуры = {
[настройки["🀄/📦"]]: { },
};
var м = мир.модули.модульПоУказателю(настройки["🀄/📦"]);
var файлы = Object.keys(м.структура).sort();
var колво = 42;
for (var номер = 0; номер < колво; ++номер)
{
var файл = файлы[номер];
мир.текстуры[настройки["🀄/📦"]][файл] = null;
}
};
// // // //
ЗагрузитьМодулиРесурсов = мир =>
{
var настройки = мир.настройкиМаджонга;
var указатели = [
настройки["🀄/📦"],
настройки["📍/📦"],
];
var сообщение = "Загрузка модулей ресурсов ⚬ 加载资源模块 ⚬ Loading resource modules";
console.debug(сообщение, указатели);
мир.модули.использовали.подписатьРаз(function() {
мир.уведомить("загрузили модули ресурсов");
});
мир.модули.использовать(указатели);
};
// // // //
ЗадатьНастройкиМаджонга = мир =>
{
// Выбираем первую тему, фишку, раскладку из доступных.
мир.настройкиМаджонга = {
"🀄/📦": мир.реестрМаджонга["🀄"][0]["📦"],
"🀄/📁": мир.реестрМаджонга["🀄"][0]["📁"][42],
"📍/📦": "https://git.opengamestudio.org/MAOH/PACK_M1/raw/branch/master/0000",
"📍/📁": "/4_winds.layout",
}
мир.уведомить("изменили настройки маджонга");
};
// // // //
СоздатьПримерСцены = мир =>
{
мир.сцена.background = new THREE.Color(0xFFFFFF);
мир.камера.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(мир.свет);
};
// // // //
ПлавноУбратьСтраницуЗагрузкиИСкрытьКрутилку = мир =>
{
плавноСкрытьИУдалить("экран-загрузки", { "задержка": 0.4 });
плавноСкрыть("крутилка", { "задержка": 0.4 });
};