environment.js 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. // Environments
  2. var dropdownContentEnv = document.getElementById("dropdownContent-env");
  3. var btnEnvironment = document.getElementById("btnEnvironment");
  4. var skyboxes = [
  5. "https://assets.babylonjs.com/environments/environmentSpecular.env",
  6. "https://assets.babylonjs.com/environments/studio.env",
  7. ];
  8. var skyboxesNames = [
  9. "Default",
  10. "Studio",
  11. ];
  12. var readLocaStorageValue = function(key, defautlValue) {
  13. if (typeof (Storage) !== "undefined" && localStorage.getItem(key) !== null) {
  14. return parseInt(localStorage.getItem(key));
  15. }
  16. return defautlValue;
  17. }
  18. var defaultSkyboxIndex = readLocaStorageValue("defaultSkyboxId", 0);
  19. function displayDropdownContentEnv(display) {
  20. if (display) {
  21. dropdownContentEnv.classList.remove("hidden");
  22. btnEnvironment.classList.add("open");
  23. clickInterceptor.classList.remove("hidden");
  24. }
  25. else {
  26. dropdownContentEnv.classList.add("hidden");
  27. btnEnvironment.classList.remove("open");
  28. clickInterceptor.classList.add("hidden");
  29. }
  30. }
  31. btnEnvironment.addEventListener('click', function() {
  32. displayDropdownContentEnv(dropdownContentEnv.classList.contains("hidden"));
  33. }, false);
  34. addEnvironmentLoader = function(index) {
  35. var env = document.createElement("div");
  36. env.innerHTML = skyboxesNames[index];
  37. env.title = skyboxesNames[index];
  38. env.addEventListener("click", function() {
  39. // hide the content of the dropdown
  40. displayDropdownContentEnv(false);
  41. if (typeof (Storage) !== "undefined") {
  42. localStorage.setItem("defaultSkyboxId", index);
  43. }
  44. defaultSkyboxIndex = index;
  45. skyboxPath = skyboxes[defaultSkyboxIndex];
  46. filesInput.reload();
  47. });
  48. return env;
  49. }
  50. for (var index = 0; index < skyboxes.length; index++) {
  51. var env = addEnvironmentLoader(index);
  52. dropdownContentEnv.appendChild(env);
  53. }