|
@@ -1,5 +1,86 @@ |
|
|
const ИМЯ = "ОМ | MB"; |
|
|
const ИМЯ = "ОМ | MB"; |
|
|
const ИМЯ_МОДУЛЯ_РЕСУРСОВ = "Ресурсы Маджонга | Mahjong resources"; |
|
|
const ИМЯ_МОДУЛЯ_РЕСУРСОВ = "Ресурсы Маджонга | Mahjong resources"; |
|
|
|
|
|
const ИМЯ_ОТЛ_РАСКЛАДКИ = "Отладочные раскладки Маджонга | Mahjong debug layouts"; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// // // // |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ОкраситьВыбранныеФишки = мир => |
|
|
|
|
|
{ |
|
|
|
|
|
/* |
|
|
|
|
|
// Очищаем цвета всех фишек. |
|
|
|
|
|
for (var номер in мир.фишки) |
|
|
|
|
|
{ |
|
|
|
|
|
var фишка = мир.фишки[номер]; |
|
|
|
|
|
фишка.color = new THREE.Color(); |
|
|
|
|
|
} |
|
|
|
|
|
*/ |
|
|
|
|
|
// Окрашиваем выбранные фишки. |
|
|
|
|
|
for (var номерЭлемента in мир.номераВыбранныхФишек) |
|
|
|
|
|
{ |
|
|
|
|
|
var номер = мир.номераВыбранныхФишек[номерЭлемента]; |
|
|
|
|
|
console.debug("окрасить фишку", номер); |
|
|
|
|
|
//мир.фишки[номер].color = new THREE.Color(0xff0000); |
|
|
|
|
|
} |
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// // // // |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ВывестиВыбранныеФишки = мир => |
|
|
|
|
|
{ |
|
|
|
|
|
var номер = мир.номерВыбраннойФишки; |
|
|
|
|
|
var группа = мир.группыФишек[номер]; |
|
|
|
|
|
console.debug(`Выбрали фишку. номер: '${номер}' группа: '${группа}'`); |
|
|
|
|
|
console.debug("Номера выбранных фишек", мир.номераВыбранныхФишек); |
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// // // // |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ПодготовитьВыборФишек = мир => |
|
|
|
|
|
{ |
|
|
|
|
|
мир.номераВыбранныхФишек = []; |
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// // // // |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ВыбратьФишкуВКоординатахНажатия = мир => |
|
|
|
|
|
{ |
|
|
|
|
|
мир.ловецНажатий.setFromCamera(мир.позицияНажатия, мир.камера); |
|
|
|
|
|
var пересечения = мир.ловецНажатий.intersectObjects(мир.корень.children); |
|
|
|
|
|
if (пересечения.length) |
|
|
|
|
|
{ |
|
|
|
|
|
var фишка = пересечения[0].object; |
|
|
|
|
|
var номер = номерФишки(мир.фишки, фишка.id); |
|
|
|
|
|
if (номер) |
|
|
|
|
|
{ |
|
|
|
|
|
мир.номерВыбраннойФишки = номер; |
|
|
|
|
|
мир.номераВыбранныхФишек.push(Number(номер)); |
|
|
|
|
|
мир.уведомить("выбор фишки"); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// // // // |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ЗагрузитьОтладочнуюРаскладку = мир => |
|
|
|
|
|
{ |
|
|
|
|
|
var модуль = мир.модули.модульПоИмени(ИМЯ_ОТЛ_РАСКЛАДКИ); |
|
|
|
|
|
var ресурс = "/успех|success.layout"; |
|
|
|
|
|
var содержимое = модуль.содержимое[ресурс]; |
|
|
|
|
|
мир.раскладкаKMahjongg = { |
|
|
|
|
|
"содержимое": содержимое, |
|
|
|
|
|
}; |
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// // // // |
|
|
// // // // |
|
@@ -86,7 +167,7 @@ const ИМЯ_МОДУЛЯ_РЕСУРСОВ = "Ресурсы Маджонга | |
|
|
{ |
|
|
{ |
|
|
мир.группыФишек.push(группа); |
|
|
мир.группыФишек.push(группа); |
|
|
// Меняем группу каждую пару фишек. |
|
|
// Меняем группу каждую пару фишек. |
|
|
if (номер %2 == 0) |
|
|
|
|
|
|
|
|
if (номер % 2 == 1) |
|
|
{ |
|
|
{ |
|
|
++группа; |
|
|
++группа; |
|
|
// Начинаем группы заново, как только они заканчиваются. |
|
|
// Начинаем группы заново, как только они заканчиваются. |
|
@@ -326,7 +407,7 @@ const ИМЯ_МОДУЛЯ_РЕСУРСОВ = "Ресурсы Маджонга | |
|
|
ПодготовитьСцену = мир => |
|
|
ПодготовитьСцену = мир => |
|
|
{ |
|
|
{ |
|
|
var коэффициент = 2; |
|
|
var коэффициент = 2; |
|
|
var расстояние = 12; |
|
|
|
|
|
|
|
|
var расстояние = 6; |
|
|
мир.камера.position.y = расстояние * коэффициент; |
|
|
мир.камера.position.y = расстояние * коэффициент; |
|
|
мир.камера.position.z = расстояние; |
|
|
мир.камера.position.z = расстояние; |
|
|
мир.камера.lookAt(new THREE.Vector3(0, 0, 0)); |
|
|
мир.камера.lookAt(new THREE.Vector3(0, 0, 0)); |
|
|