Изменения от Главреда ГитЖС | Changes of GitJS Glavred
This commit is contained in:
135
фишки|tiles.js
135
фишки|tiles.js
@@ -3,6 +3,141 @@
|
||||
// // // //
|
||||
|
||||
|
||||
ЗапуститьПлавноеСкрытиеФишек = мир =>
|
||||
{
|
||||
var шаг = 10;
|
||||
var длительность = 200;
|
||||
var прозрачность = 1.0;
|
||||
var дельтаПрозрачности = шаг / длительность;
|
||||
const анимация = setInterval(
|
||||
function() {
|
||||
const позиции = мир.раскладкаKMahjongg.позиции;
|
||||
прозрачность -= дельтаПрозрачности;
|
||||
// Возвращаем прозрачность материалам перед последующим скрытием фишек.
|
||||
// И планируем выход из этой анимации.
|
||||
var выходим = false;
|
||||
if (прозрачность < 0)
|
||||
{
|
||||
прозрачность = 1;
|
||||
выходим = true;
|
||||
}
|
||||
// Выставляем нужную прозрачность.
|
||||
for (var id in мир.номераВыбранныхФишек)
|
||||
{
|
||||
var номер = мир.номераВыбранныхФишек[id];
|
||||
var фишка = мир.фишки[номер];
|
||||
фишка.material.opacity = прозрачность;
|
||||
// Указываем на необходимость учитывать прозрачность.
|
||||
фишка.material.transparent = true;
|
||||
}
|
||||
if (выходим)
|
||||
{
|
||||
clearInterval(анимация);
|
||||
мир.уведомить("плавно скрыли фишки");
|
||||
}
|
||||
},
|
||||
шаг
|
||||
);
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
ПроверитьВозможностьПоискаФишки = мир =>
|
||||
{
|
||||
if (мир.можноИскатьФишку)
|
||||
{
|
||||
мир.уведомить("можно искать фишку");
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
ОтключитьВозможностьПоискаФишки = мир =>
|
||||
{
|
||||
мир.можноИскатьФишку = false;
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
ВключитьВозможностьПоискаФишки = мир =>
|
||||
{
|
||||
мир.можноИскатьФишку = true;
|
||||
};
|
||||
|
||||
|
||||
// // // /
|
||||
|
||||
|
||||
ПростоОбождатьПаруСекунд = мир =>
|
||||
{
|
||||
setTimeout(
|
||||
function() {
|
||||
мир.уведомить("плавно скрыли фишки")
|
||||
},
|
||||
2000
|
||||
);
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
ПлавноСкрытьФишки = мир =>
|
||||
{
|
||||
мир.уведомить("надо плавно скрыть фишки");
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
ОчиститьВыборФишек = мир =>
|
||||
{
|
||||
мир.номераВыбранныхФишек = [];
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
ОчиститьИндексыВыбранныхФишек = мир =>
|
||||
{
|
||||
const позиции = мир.раскладкаKMahjongg.позиции;
|
||||
for (var id in мир.номераВыбранныхФишек)
|
||||
{
|
||||
var номер = мир.номераВыбранныхФишек[id];
|
||||
var позиция = позиции[номер];
|
||||
var индекс = индексПозицииФишки(позиция);
|
||||
delete мир.индексыФишек[индекс];
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
СкрытьСовпадающиеФишки = мир =>
|
||||
{
|
||||
for (var id in мир.номераВыбранныхФишек)
|
||||
{
|
||||
var номер = мир.номераВыбранныхФишек[id];
|
||||
// Перемещаем фишку на другой слой для исключения её из:
|
||||
// * цикла отрисовки;
|
||||
// * узлов для выбора нажатием.
|
||||
мир.фишки[номер].layers.set(1);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
ОчиститьВыборПервойНайденнойФишки = мир =>
|
||||
{
|
||||
мир.номераВыбранныхФишек.shift();
|
||||
|
||||
Reference in New Issue
Block a user