Сцена Маджонга | Mahjong scene
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. const ИМЯ_МОДУЛЯ_РЕСУРСОВ = "Ресурсы Маджонга | Mahjong resources";
  2. const ИМЯ_ОТЛ_РАСКЛАДКИ = "Отладочные раскладки Маджонга | Mahjong debug layouts";
  3. // // // //
  4. УведомитьОЗагрузкеРесурсовСцены = мир =>
  5. {
  6. мир.уведомить("загрузили ресурсы сцены");
  7. };
  8. // // // //
  9. ЗадатьОтладочнуюТемуФишекДляЗагрузки = мир =>
  10. {
  11. мир.темаФишек = "отладочная|debug";
  12. };
  13. // // // //
  14. ЗагрузитьВыбраннуюРаскладку = мир =>
  15. {
  16. var имяМодуля = ИМЯ_МОДУЛЯ_РЕСУРСОВ;
  17. var ресурс = "/X_shaped.layout";
  18. if (мир.выбраннаяРаскладка == "😀")
  19. {
  20. ресурс = "/успех|success.layout";
  21. имяМодуля = ИМЯ_ОТЛ_РАСКЛАДКИ;
  22. }
  23. else if (мир.выбраннаяРаскладка == "😭")
  24. {
  25. ресурс = "/провал|failure.layout";
  26. имяМодуля = ИМЯ_ОТЛ_РАСКЛАДКИ;
  27. }
  28. var модуль = мир.модули.модульПоИмени(имяМодуля);
  29. var содержимое = модуль.содержимое[ресурс];
  30. мир.раскладкаKMahjongg = {
  31. "содержимое": содержимое,
  32. };
  33. };
  34. // // // //
  35. ЗагрузитьФишку = мир =>
  36. {
  37. var модуль = мир.модули.модульПоИмени(ИМЯ_МОДУЛЯ_РЕСУРСОВ);
  38. var ресурс = "/фишка.gltf";
  39. var адрес = `${window.location.origin}${ресурс}`;
  40. THREE.Cache.enabled = true;
  41. THREE.Cache.add(адрес, модуль.содержимое[ресурс]);
  42. мир.загрузчикGLTF.load(
  43. адрес,
  44. function(gltf) {
  45. // Вычленяем Mesh.
  46. gltf.scene.traverse(function(ребёнок) {
  47. if (ребёнок.isMesh)
  48. {
  49. мир.фишка = ребёнок;
  50. }
  51. });
  52. мир.уведомить("загрузили фишку");
  53. },
  54. null,
  55. function(error) {
  56. console.error("ОШИБКА | ERROR", error);
  57. }
  58. );
  59. };