|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244 |
- const РАССТОЯНИЕ = 40;
- const КОЭФФИЦИЕНТ_ВЫСОТЫ = 1.5;
-
-
- // ?? // ??
-
-
- ОтладитьСменуНастроекПриНажатии = мир =>
- {
- if (мир.позицияНажатияВРисователе.y < 0.9)
- {
- return;
- }
- var менять = null;
- if (мир.позицияНажатияВРисователе.x > 0.9)
- {
- менять = 1;
- }
- if (мир.позицияНажатияВРисователе.x < 0.1)
- {
- менять = -1;
- }
- if (!менять)
- {
- return;
- }
-
- var н = 0;
- if (менять == 1)
- {
- н = 1;
- }
- // Переключаем тему.
- var указатель = мир.реестрМаджонга["🀄"][н]["📦"];
- var файл = мир.реестрМаджонга["🀄"][н]["📁"][42];
- if (
- (мир.настройкиМаджонга["🀄/📦"] != указатель) &&
- (мир.настройкиМаджонга["🀄/📁"] != файл)
- ) {
-
- мир.настройкиМаджонга["🀄/📦"] = указатель;
- мир.настройкиМаджонга["🀄/📁"] = файл;
- мир.уведомить("изменили настройки маджонга");
- }
- };
-
-
- // // // //
-
-
- ПроверитьОкна = мир =>
- {
- var окно = создатьОкноСОтступами("пример");
- окно.плавно.отобразить();
- };
-
-
- // // // //
-
-
- ВывестиПоражение = мир =>
- {
- console.debug("ПОРАЖЕНИЕ");
- };
-
-
- // // // //
-
-
- ВывестиПобеду = мир =>
- {
- console.debug("ПОБЕДА");
- };
-
-
- // // // //
-
-
- ЗадатьФишкуДляВыбора = мир =>
- {
- var номер = мир.выбранныйУзел.userData;
- мир.фишкаМаджонгаДляВыбора = номер;
- }
-
-
- // // // //
-
-
- ПодготовитьФишкиКВыбору = мир =>
- {
- мир.выборныеУзлы = мир.фишкиСцены;
- };
-
-
- // // // //
-
-
- ПодготовитьсяКСозданиюФишек = мир =>
- {
- var настройки = мир.настройкиМаджонга;
-
- var м = мир.модули.модульПоУказателю(настройки["📍/📦"]);
- var содержимое = м.содержимое[настройки["📍/📁"]];
- var позиции = разобратьРаскладкуKMahjongg(содержимое);
-
- var фишки = [];
- var группа = 0;
- for (var номер in позиции)
- {
- var п = позиции[номер];
- фишки.push({
- "📍": [п[0], п[1], п[2]],
- "🚩": группа,
- });
- if (номер % 2)
- {
- ++группа;
- if (группа > 41)
- {
- группа = 0;
- }
- }
- };
-
- мир.фишкиМаджонга = фишки;
- мир.модельФишкиСцены = мир.полигональныеСетки[настройки["🀄/📦"]][настройки["🀄/📁"]];
- мир.сцена.add(мир.сценаМаджонга);
- };
-
-
- // // // //
-
-
- СоздатьМатериалыФишек = мир =>
- {
- var настройки = мир.настройкиМаджонга;
-
- мир.материалыФишекСцены = [];
- мир.выбранныеМатериалыФишекСцены = [];
-
- var текстуры = мир.текстуры[настройки["🀄/📦"]];
- for (var имя in текстуры)
- {
- var текстура = текстуры[имя];
- var материал = new THREE.MeshLambertMaterial({
- map: текстура,
- color: new THREE.Color(0xCCCCCC),
- });
- мир.материалыФишекСцены.push(материал);
- var выбранныйМатериал = new THREE.MeshLambertMaterial({
- map: текстура,
- color: new THREE.Color(0xFFFFFF),
- });
- мир.выбранныеМатериалыФишекСцены.push(выбранныйМатериал);
- }
- };
-
- // // // //
-
-
- ПодготовитьсяКЗагрузкеРесурсов = мир =>
- {
- var настройки = мир.настройкиМаджонга;
-
- мир.полигональныеСетки = {
- [настройки["🀄/📦"]]: {
- [настройки["🀄/📁"]]: null,
- },
- };
-
- мир.текстуры = {
- [настройки["🀄/📦"]]: { },
- };
- var м = мир.модули.модульПоУказателю(настройки["🀄/📦"]);
- var файлы = Object.keys(м.структура).sort();
- var колво = 42;
- for (var номер = 0; номер < колво; ++номер)
- {
- var файл = файлы[номер];
- мир.текстуры[настройки["🀄/📦"]][файл] = null;
- }
- };
-
-
- // // // //
-
-
- ЗагрузитьМодулиРесурсов = мир =>
- {
- var настройки = мир.настройкиМаджонга;
- var указатели = [
- настройки["🀄/📦"],
- настройки["📍/📦"],
- ];
- var сообщение = "Загрузка модулей ресурсов ⚬ 加载资源模块 ⚬ Loading resource modules";
- console.debug(сообщение, указатели);
- мир.модули.использовали.подписатьРаз(function() {
- мир.уведомить("загрузили модули ресурсов");
- });
- мир.модули.использовать(указатели);
- };
-
-
- // // // //
-
-
- ЗадатьНастройкиМаджонга = мир =>
- {
- // Выбираем первую тему, фишку, раскладку из доступных.
- мир.настройкиМаджонга = {
- "🀄/📦": мир.реестрМаджонга["🀄"][0]["📦"],
- "🀄/📁": мир.реестрМаджонга["🀄"][0]["📁"][42],
- "📍/📦": "https://git.opengamestudio.org/MAOH/PACK_M1/raw/branch/master/0000",
- "📍/📁": "/4_winds.layout",
- }
-
- мир.уведомить("изменили настройки маджонга");
- };
-
-
- // // // //
-
-
- СоздатьПримерСцены = мир =>
- {
- мир.сцена.background = new THREE.Color(0xFFFFFF);
- мир.камера.position.y = РАССТОЯНИЕ * КОЭФФИЦИЕНТ_ВЫСОТЫ;
- мир.камера.position.z = РАССТОЯНИЕ;
- мир.камера.lookAt(new THREE.Vector3(0, 0, 0));
-
- мир.свет = new THREE.DirectionalLight(0xFFFFFF, 1);
- мир.свет.position.set(-0.5, 1, 0.5).normalize();
- мир.сцена.add(мир.свет);
- };
-
-
- // // // //
-
-
- ПлавноУбратьСтраницуЗагрузкиИСкрытьКрутилку = мир =>
- {
- плавноСкрытьИУдалить("экран-загрузки", { "задержка": 0.4 });
- плавноСкрыть("крутилка", { "задержка": 0.4 });
- };
|