Files
APXuBuPOBATb-MAOH/🏁.js

155 lines
4.3 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 ФИШКИ = "https://git.opengamestudio.org/PuCOBATEJlb/PECYPCbl/raw/branch/master/0000";
//const ФИШКА = "/фишка.gltf";
const ФИШКИ = "https://git.opengamestudio.org/MAOH/MAOH_KA_M1/raw/branch/master/0000";
const ФИШКА = "/TileHigh.gltf";
//const ТЕМА = "https://git.opengamestudio.org/MAOH/MAOH_TEMA_OTAK/raw/branch/master/0000";
const ТЕМА = "https://git.opengamestudio.org/MAOH/MAOH_TEMA_M1_KACC/raw/branch/master/0000";
const РАСКЛАДКИ = "https://git.opengamestudio.org/MAOH/MAOH_PACK_OTAK/raw/branch/master/0000";
//const РАСКЛАДКА = "/😀.layout";
//const РАСКЛАДКА = "/😭.layout";
const РАСКЛАДКА = "/X_shaped.layout";
// // // //
ВывестиПоражение = мир =>
{
console.debug("ПОРАЖЕНИЕ");
};
// // // //
ВывестиПобеду = мир =>
{
console.debug("ПОБЕДА");
};
// // // //
ЗадатьФишкуДляВыбора = мир =>
{
var номер = мир.выбранныйУзел.userData;
мир.фишкаМаджонгаДляВыбора = номер;
}
// // // //
ПодготовитьФишкиКВыбору = мир =>
{
мир.выборныеУзлы = мир.фишкиСцены;
};
// // // //
ПодготовитьсяКСозданиюФишек = мир =>
{
var м = мир.модули.модульПоУказателю(РАСКЛАДКИ);
var содержимое = м.содержимое[РАСКЛАДКА];
var позиции = разобратьРаскладкуKMahjongg(содержимое);
var фишки = [];
var группа = 0;
for (var номер in позиции)
{
var п = позиции[номер];
фишки.push({
"📍": [п[0], п[1], п[2]],
"🚩": группа,
});
if (номер % 2)
{
++группа;
}
};
мир.фишкиМаджонга = фишки;
мир.модельФишкиСцены = мир.полигональныеСетки[ФИШКИ][ФИШКА];
мир.сцена.add(мир.сценаМаджонга);
};
// // // //
СоздатьПримерСцены = мир =>
{
мир.сцена.background = new THREE.Color(0xFFFFFF);
мир.камера.position.y = 30;
мир.камера.position.z = 20;
мир.камера.lookAt(new THREE.Vector3(0, 0, 0));
мир.свет = new THREE.DirectionalLight(0xFFFFFF, 1);
мир.свет.position.set(-0.5, 1, 0.5).normalize();
мир.сцена.add(мир.свет);
};
// // // //
СоздатьМатериалыФишек = мир =>
{
мир.материалыФишекСцены = [];
мир.выбранныеМатериалыФишекСцены = [];
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(выбранныйМатериал);
}
};
// // // //
ПодготовитьсяКЗагрузкеРесурсов = мир =>
{
мир.полигональныеСетки = {
[ФИШКИ]: {
[ФИШКА]: null,
},
};
мир.текстуры = {
[ТЕМА]: { },
};
var м = мир.модули.модульПоУказателю(ТЕМА);
var файлы = Object.keys(м.структура).sort();
for (var номер in файлы)
{
var файл = файлы[номер];
мир.текстуры[ТЕМА][файл] = null;
}
};
// // // //
ПлавноУбратьСтраницуЗагрузкиИСкрытьКрутилку = мир =>
{
плавноСкрытьИУдалить("экран-загрузки", { "задержка": 0.4 });
плавноСкрыть("крутилка", { "задержка": 0.4 });
};