|
@@ -7,9 +7,86 @@ const ТЕМА_ОТЛАДОЧНАЯ = "https://git.opengamestudio.org/MAOH/MAOH_ |
|
|
// // // // |
|
|
// // // // |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
СкрытьПаруВыбранныхФишекПослеЗадержки = мир => |
|
|
|
|
|
{ |
|
|
|
|
|
setTimeout( |
|
|
|
|
|
function() { |
|
|
|
|
|
for (var номер in мир.выбранныеФишки) |
|
|
|
|
|
{ |
|
|
|
|
|
var н = мир.выбранныеФишки[номер]; |
|
|
|
|
|
// Перемещаем фишку на другой слой для исключения её из отрисовки и выбора. |
|
|
|
|
|
var ф = мир.фишки[н]; |
|
|
|
|
|
ф.layers.set(1); |
|
|
|
|
|
} |
|
|
|
|
|
}, |
|
|
|
|
|
100 |
|
|
|
|
|
); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// // // // |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
СнятьВыделениеСПервойВыбраннойФишки = мир => |
|
|
|
|
|
{ |
|
|
|
|
|
var н = мир.выбранныеФишки.shift(); |
|
|
|
|
|
var ф = мир.фишки[н]; |
|
|
|
|
|
var г = мир.группы[н]; |
|
|
|
|
|
var м = мир.материалы[г]; |
|
|
|
|
|
ф.material = м; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// // // // |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
СравнитьПаруВыбранныхФишек = мир => |
|
|
|
|
|
{ |
|
|
|
|
|
// Удостоверяемся в наличии двух фишек. |
|
|
|
|
|
if (мир.выбранныеФишки.length != 2) |
|
|
|
|
|
{ |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
var н1 = мир.выбранныеФишки[0]; |
|
|
|
|
|
var н2 = мир.выбранныеФишки[1]; |
|
|
|
|
|
var г1 = мир.группы[н1]; |
|
|
|
|
|
var г2 = мир.группы[н2]; |
|
|
|
|
|
if (г1 == г2) |
|
|
|
|
|
{ |
|
|
|
|
|
мир.уведомить("выбрали пару фишек одной группы"); |
|
|
|
|
|
} |
|
|
|
|
|
else |
|
|
|
|
|
{ |
|
|
|
|
|
мир.уведомить("выбрали пару фишек разных групп"); |
|
|
|
|
|
} |
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
// // // // |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ВыделитьВыбраннуюФишку = мир => |
|
|
|
|
|
{ |
|
|
|
|
|
var н = мир.выбраннаяФишка; |
|
|
|
|
|
var ф = мир.фишки[н]; |
|
|
|
|
|
var г = мир.группы[н]; |
|
|
|
|
|
var м = мир.выбранныеМатериалы[г]; |
|
|
|
|
|
ф.material = м; |
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// // // // |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ВыбратьФишку = мир => |
|
|
ВыбратьФишку = мир => |
|
|
{ |
|
|
{ |
|
|
console.debug("номер:", мир.выбранныйУзел.userData); |
|
|
|
|
|
|
|
|
var номер = мир.выбранныйУзел.userData; |
|
|
|
|
|
// Отсекаем выбор одной и той же фишки. |
|
|
|
|
|
if (мир.выбраннаяФишка && мир.выбраннаяФишка == номер) |
|
|
|
|
|
{ |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
мир.выбраннаяФишка = номер; |
|
|
|
|
|
мир.выбранныеФишки.push(номер); |
|
|
|
|
|
мир.уведомить("выбрали фишку"); |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -19,6 +96,8 @@ const ТЕМА_ОТЛАДОЧНАЯ = "https://git.opengamestudio.org/MAOH/MAOH_ |
|
|
ПодготовитьФишкиКВыбору = мир => |
|
|
ПодготовитьФишкиКВыбору = мир => |
|
|
{ |
|
|
{ |
|
|
мир.выборныеУзлы = мир.фишки; |
|
|
мир.выборныеУзлы = мир.фишки; |
|
|
|
|
|
мир.выбранныеФишки = []; |
|
|
|
|
|
мир.выбраннаяФишка = null; |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -27,11 +106,30 @@ const ТЕМА_ОТЛАДОЧНАЯ = "https://git.opengamestudio.org/MAOH/MAOH_ |
|
|
|
|
|
|
|
|
НазначитьФишкамМатериалы = мир => |
|
|
НазначитьФишкамМатериалы = мир => |
|
|
{ |
|
|
{ |
|
|
return; |
|
|
|
|
|
|
|
|
for (var н in мир.фишки) |
|
|
|
|
|
{ |
|
|
|
|
|
var ф = мир.фишки[н]; |
|
|
|
|
|
var г = мир.группы[н]; |
|
|
|
|
|
var м = мир.материалы[г]; |
|
|
|
|
|
ф.material = м; |
|
|
|
|
|
} |
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// // // // |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
СоздатьГруппы = мир => |
|
|
|
|
|
{ |
|
|
|
|
|
мир.группы = []; |
|
|
|
|
|
var группа = 0; |
|
|
for (var номер in мир.фишки) |
|
|
for (var номер in мир.фишки) |
|
|
{ |
|
|
{ |
|
|
var фишка = мир.фишки[номер]; |
|
|
|
|
|
фишка.material = мир.материалы[0]; |
|
|
|
|
|
|
|
|
мир.группы.push(группа); |
|
|
|
|
|
if (номер % 2) |
|
|
|
|
|
{ |
|
|
|
|
|
++группа; |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
@@ -77,16 +175,23 @@ const ТЕМА_ОТЛАДОЧНАЯ = "https://git.opengamestudio.org/MAOH/MAOH_ |
|
|
|
|
|
|
|
|
СоздатьМатериалыФишек = мир => |
|
|
СоздатьМатериалыФишек = мир => |
|
|
{ |
|
|
{ |
|
|
/* |
|
|
|
|
|
мир.материалы = []; |
|
|
мир.материалы = []; |
|
|
for (var номер in ТЕКСТУРЫ) |
|
|
|
|
|
|
|
|
мир.выбранныеМатериалы = []; |
|
|
|
|
|
var текстуры = мир.текстуры[ТЕМА_ОТЛАДОЧНАЯ]; |
|
|
|
|
|
for (var имя in текстуры) |
|
|
{ |
|
|
{ |
|
|
var имя = ТЕКСТУРЫ[номер]; |
|
|
|
|
|
var текстура = мир.текстуры[РЕСУРСЫ][имя]; |
|
|
|
|
|
var материал = new THREE.MeshLambertMaterial({map: текстура}); |
|
|
|
|
|
|
|
|
var текстура = текстуры[имя]; |
|
|
|
|
|
var материал = new THREE.MeshLambertMaterial({ |
|
|
|
|
|
map: текстура, |
|
|
|
|
|
color: new THREE.Color(0xAAAAAA), |
|
|
|
|
|
}); |
|
|
мир.материалы.push(материал); |
|
|
мир.материалы.push(материал); |
|
|
|
|
|
var выбранныйМатериал = new THREE.MeshLambertMaterial({ |
|
|
|
|
|
map: текстура, |
|
|
|
|
|
color: new THREE.Color(0xFFFFFF), |
|
|
|
|
|
}); |
|
|
|
|
|
мир.выбранныеМатериалы.push(выбранныйМатериал); |
|
|
} |
|
|
} |
|
|
*/ |
|
|
|
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
// // // // |
|
|
// // // // |
|
@@ -99,16 +204,17 @@ const ТЕМА_ОТЛАДОЧНАЯ = "https://git.opengamestudio.org/MAOH/MAOH_ |
|
|
[ФИШКА]: null, |
|
|
[ФИШКА]: null, |
|
|
}, |
|
|
}, |
|
|
}; |
|
|
}; |
|
|
/* |
|
|
|
|
|
|
|
|
|
|
|
мир.текстуры = { |
|
|
мир.текстуры = { |
|
|
[РЕСУРСЫ]: { |
|
|
|
|
|
[ТЕКСТУРА1]: null, |
|
|
|
|
|
[ТЕКСТУРА2]: null, |
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
[ТЕМА_ОТЛАДОЧНАЯ]: { }, |
|
|
}; |
|
|
}; |
|
|
*/ |
|
|
|
|
|
var м = мир.модули.модульПоУказателю(ТЕМА_ОТЛАДОЧНАЯ); |
|
|
var м = мир.модули.модульПоУказателю(ТЕМА_ОТЛАДОЧНАЯ); |
|
|
console.debug("отладочная тема:", м.структура); |
|
|
|
|
|
|
|
|
var файлы = Object.keys(м.структура).sort(); |
|
|
|
|
|
for (var номер in файлы) |
|
|
|
|
|
{ |
|
|
|
|
|
var файл = файлы[номер]; |
|
|
|
|
|
мир.текстуры[ТЕМА_ОТЛАДОЧНАЯ][файл] = null; |
|
|
|
|
|
} |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|