Изменения от Главреда ГитЖС | Changes of GitJS Glavred
This commit is contained in:
140
🏁.js
140
🏁.js
@@ -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 мир.фишки)
|
||||
{
|
||||
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(материал);
|
||||
var выбранныйМатериал = new THREE.MeshLambertMaterial({
|
||||
map: текстура,
|
||||
color: new THREE.Color(0xFFFFFF),
|
||||
});
|
||||
мир.выбранныеМатериалы.push(выбранныйМатериал);
|
||||
}
|
||||
*/
|
||||
};
|
||||
|
||||
// // // //
|
||||
@@ -99,16 +204,17 @@ const ТЕМА_ОТЛАДОЧНАЯ = "https://git.opengamestudio.org/MAOH/MAOH_
|
||||
[ФИШКА]: null,
|
||||
},
|
||||
};
|
||||
/*
|
||||
|
||||
мир.текстуры = {
|
||||
[РЕСУРСЫ]: {
|
||||
[ТЕКСТУРА1]: null,
|
||||
[ТЕКСТУРА2]: null,
|
||||
},
|
||||
[ТЕМА_ОТЛАДОЧНАЯ]: { },
|
||||
};
|
||||
*/
|
||||
var м = мир.модули.модульПоУказателю(ТЕМА_ОТЛАДОЧНАЯ);
|
||||
console.debug("отладочная тема:", м.структура);
|
||||
var файлы = Object.keys(м.структура).sort();
|
||||
for (var номер in файлы)
|
||||
{
|
||||
var файл = файлы[номер];
|
||||
мир.текстуры[ТЕМА_ОТЛАДОЧНАЯ][файл] = null;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
||||
14
🏁.череда
14
🏁.череда
@@ -3,15 +3,23 @@
|
||||
подготовиться к загрузке ресурсов
|
||||
загрузить полигональные сетки
|
||||
загрузили полигональные сетки
|
||||
# загрузить текстуры
|
||||
#загрузили текстуры
|
||||
загрузить текстуры
|
||||
загрузили текстуры
|
||||
создать материалы фишек
|
||||
создать пример сцены
|
||||
создать фишки
|
||||
создать группы
|
||||
назначить фишкам материалы
|
||||
подготовить фишки к выбору
|
||||
|
||||
нажатие в рисователе
|
||||
выбрать узел сцены
|
||||
выбрали узел сцены
|
||||
выбрать фишку
|
||||
выбрать фишку
|
||||
выбрали фишку
|
||||
выделить выбранную фишку
|
||||
сравнить пару выбранных фишек
|
||||
выбрали пару фишек разных групп
|
||||
снять выделение с первой выбранной фишки
|
||||
выбрали пару фишек одной группы
|
||||
скрыть пару выбранных фишек после задержки
|
||||
Reference in New Issue
Block a user