Сцена Маджонга | Mahjong scene
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

76 line
2.5KB

  1. const УКАЗАТЕЛЬ_МОДУЛЯ_РЕСУРСОВ = "https://git.opengamestudio.org/mahjong/mahjong-res/raw/commit/5430b4d62bcc3d60f1e570485ee5cd562b70582d/0000";
  2. const УКАЗАТЕЛЬ_ОТЛ_РАСКЛАДКИ = "https://git.opengamestudio.org/mahjong/mahjong-otl-raskladki-dbg-layouts/raw/commit/2951feab28448266d3446974e781d320ebbed8df/0000";
  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. };