|
@@ -2,6 +2,7 @@ |
|
|
const РЕСУРСЫ = "https://git.opengamestudio.org/PuCOBATEJlb/PECYPCbl/raw/branch/master/0000"; |
|
|
const РЕСУРСЫ = "https://git.opengamestudio.org/PuCOBATEJlb/PECYPCbl/raw/branch/master/0000"; |
|
|
const ФИШКА = "/фишка.gltf"; |
|
|
const ФИШКА = "/фишка.gltf"; |
|
|
const ТЕМА_ОТЛАДОЧНАЯ = "https://git.opengamestudio.org/MAOH/MAOH_TEMA_OTAK/raw/branch/master/0000"; |
|
|
const ТЕМА_ОТЛАДОЧНАЯ = "https://git.opengamestudio.org/MAOH/MAOH_TEMA_OTAK/raw/branch/master/0000"; |
|
|
|
|
|
const РАСКЛАДКИ = "https://git.opengamestudio.org/MAOH/MAOH_PACK_OTAK/raw/branch/master/0000"; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// // // // |
|
|
// // // // |
|
@@ -73,63 +74,33 @@ const ТЕМА_ОТЛАДОЧНАЯ = "https://git.opengamestudio.org/MAOH/MAOH_ |
|
|
// // // // |
|
|
// // // // |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
СоздатьФишки = мир => |
|
|
|
|
|
|
|
|
ПодготовитьсяКСозданиюФишек = мир => |
|
|
{ |
|
|
{ |
|
|
var фишка = мир.полигональныеСетки[РЕСУРСЫ][ФИШКА]; |
|
|
|
|
|
var границы = фишка.geometry.boundingBox; |
|
|
|
|
|
var размеры = [ |
|
|
|
|
|
(границы.max.x - границы.min.x) / 2, |
|
|
|
|
|
(границы.max.z - границы.min.z) / 2, |
|
|
|
|
|
//границы.max.y - границы.min.y, |
|
|
|
|
|
]; |
|
|
|
|
|
var отступ = 0.02; |
|
|
|
|
|
|
|
|
|
|
|
мир.фишки = []; |
|
|
|
|
|
for (var номер in мир.фишкиМаджонга) |
|
|
|
|
|
|
|
|
var м = мир.модули.модульПоУказателю(РАСКЛАДКИ); |
|
|
|
|
|
var содержимое = м.содержимое["/😀.layout"]; |
|
|
|
|
|
var позиции = разобратьРаскладкуKMahjongg(содержимое); |
|
|
|
|
|
|
|
|
|
|
|
var фишки = []; |
|
|
|
|
|
var группа = 0; |
|
|
|
|
|
for (var номер in позиции) |
|
|
{ |
|
|
{ |
|
|
// Узел сцены. |
|
|
|
|
|
var фм = мир.фишкиМаджонга[номер]; |
|
|
|
|
|
var ф = фишка.clone(); |
|
|
|
|
|
ф.userData = номер; |
|
|
|
|
|
мир.фишки.push(ф); |
|
|
|
|
|
мир.сцена.add(ф); |
|
|
|
|
|
// Расположение. |
|
|
|
|
|
var позиция = фм["📍"]; |
|
|
|
|
|
/* |
|
|
|
|
|
var слой = позиция[0]; |
|
|
|
|
|
var ряд = позиция[1]; |
|
|
|
|
|
var столбец = позиция[2]; |
|
|
|
|
|
*/ |
|
|
|
|
|
var слой = 0; |
|
|
|
|
|
var ряд = позиция[0]; |
|
|
|
|
|
var столбец = позиция[1]; |
|
|
|
|
|
|
|
|
|
|
|
ф.position.x = столбец * (размеры[0] + отступ); |
|
|
|
|
|
ф.position.z = ряд * (размеры[1] + отступ); |
|
|
|
|
|
ф.position.y = слой; |
|
|
|
|
|
} |
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// // // // |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ЗадатьФишки = мир => |
|
|
|
|
|
{ |
|
|
|
|
|
мир.фишкиМаджонга = [ |
|
|
|
|
|
{ |
|
|
|
|
|
"📍": [0, 0], |
|
|
|
|
|
"🚩": 0, |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
"📍": [2, 0], |
|
|
|
|
|
"🚩": 0, |
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
var п = позиции[номер]; |
|
|
|
|
|
фишки.push({ |
|
|
|
|
|
"📍": [п[0], п[1], п[2]], |
|
|
|
|
|
"🚩": группа, |
|
|
|
|
|
}); |
|
|
|
|
|
if (номер % 2) |
|
|
{ |
|
|
{ |
|
|
"📍": [0, 2], |
|
|
|
|
|
"🚩": 1, |
|
|
|
|
|
}, |
|
|
|
|
|
]; |
|
|
|
|
|
|
|
|
++группа; |
|
|
|
|
|
} |
|
|
|
|
|
}; |
|
|
|
|
|
мир.фишкиМаджонга = фишки; |
|
|
|
|
|
|
|
|
|
|
|
мир.модельФишкиСцены = мир.полигональныеСетки[РЕСУРСЫ][ФИШКА]; |
|
|
|
|
|
мир.материалыФишекСцены = мир.материалы; |
|
|
|
|
|
мир.выбранныеМатериалыФишекСцены = мир.выбранныеМатериалы; |
|
|
|
|
|
|
|
|
|
|
|
мир.сцена.add(мир.сценаМаджонга); |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -139,8 +110,8 @@ const ТЕМА_ОТЛАДОЧНАЯ = "https://git.opengamestudio.org/MAOH/MAOH_ |
|
|
СоздатьПримерСцены = мир => |
|
|
СоздатьПримерСцены = мир => |
|
|
{ |
|
|
{ |
|
|
мир.сцена.background = new THREE.Color(0xFFFFFF); |
|
|
мир.сцена.background = new THREE.Color(0xFFFFFF); |
|
|
мир.камера.position.y = 10; |
|
|
|
|
|
мир.камера.position.z = 5; |
|
|
|
|
|
|
|
|
мир.камера.position.y = 20; |
|
|
|
|
|
мир.камера.position.z = 10; |
|
|
мир.камера.lookAt(new THREE.Vector3(0, 0, 0)); |
|
|
мир.камера.lookAt(new THREE.Vector3(0, 0, 0)); |
|
|
|
|
|
|
|
|
мир.свет = new THREE.DirectionalLight(0xFFFFFF, 1); |
|
|
мир.свет = new THREE.DirectionalLight(0xFFFFFF, 1); |
|
|