СкрытьУбранныеФишкиВСцене = мир => { for (var номер in мир.убранныеФишкиМаджонга) { var н = мир.убранныеФишкиМаджонга[номер]; // Перемещаем фишку на другой слой для исключения из отрисовки и выбора. var ф = мир.фишкиСцены[н]; ф.layers.set(1); } } // // // // ВыделитьВыбранныеФишкиВСцене = мир => { for (var номер in мир.выбранныеФишкиМаджонга) { var н = мир.выбранныеФишкиМаджонга[номер]; var ф = мир.фишкиСцены[н]; var г = мир.фишкиМаджонга[н]["🚩"]; var м = мир.выбранныеМатериалыФишекСцены[г]; ф.material = м; } }; // // // // ЗадатьМатериалыФишкамСцены = мир => { for (var н in мир.фишкиСцены) { var ф = мир.фишкиСцены[н]; var г = мир.фишкиМаджонга[н]["🚩"]; var м = мир.материалыФишекСцены[г]; ф.material = м; } }; // // // // УбратьСтарыеФишкиСцены = мир => { if (мир.сценаМаджонга.children.length) { мир.сценаМаджонга.remove(мир.кореньСценыМаджонга); } мир.кореньСценыМаджонга = new THREE.Group(); мир.сценаМаджонга.add(мир.кореньСценыМаджонга); мир.фишкиСцены = []; }; // // // // СоздатьНовыеФишкиСцены = мир => { var фишка = мир.модельФишкиСцены; var границы = фишка.geometry.boundingBox; var размеры = [ (границы.max.x - границы.min.x) / 2, (границы.max.z - границы.min.z) / 2, //границы.max.y - границы.min.y, ]; var отступ = мир.отступМеждуФишкамиСцены; for (var номер in мир.фишкиМаджонга) { // Узел сцены. var фм = мир.фишкиМаджонга[номер]; var ф = фишка.clone(); ф.userData = номер; мир.фишкиСцены.push(ф); мир.кореньСценыМаджонга.add(ф); // Расположение. var п = фм["📍"]; var слой = п[0]; var ряд = п[1]; var столбец = п[2]; ф.position.x = столбец * (размеры[0] + отступ); ф.position.z = ряд * (размеры[1] + отступ); ф.position.y = слой; } }; // // // // СоздатьФишкиВСцене = мир => { мир.уведомить("надо создать фишки в сцене"); }; // // // // ПодготовитьСценуМаджонга = мир => { мир.сценаМаджонга = new THREE.Group(); мир.отступМеждуФишкамиСцены = 0.02; };