|
- СкрытьУбранныеФишкиВСцене = мир =>
- {
- 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;
- };
|