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 }); };