environment.js 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  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.style.display = "block";
  22. }
  23. else {
  24. dropdownContentEnv.style.display = "none";
  25. }
  26. }
  27. btnEnvironment.addEventListener('click', function() {
  28. displayDropdownContentEnv(dropdownContentEnv.style.display !== "block");
  29. }, false);
  30. addEnvironmentLoader = function(index) {
  31. var env = document.createElement("div");
  32. env.innerHTML = skyboxesNames[index];
  33. env.title = skyboxesNames[index];
  34. env.addEventListener("click", function() {
  35. // hide the content of the dropdown
  36. displayDropdownContentEnv(false);
  37. if (typeof (Storage) !== "undefined") {
  38. localStorage.setItem("defaultSkyboxId", index);
  39. }
  40. defaultSkyboxIndex = index;
  41. skyboxPath = skyboxes[defaultSkyboxIndex];
  42. filesInput.reload();
  43. });
  44. return env;
  45. }
  46. for (var index = 0; index < skyboxes.length; index++) {
  47. var env = addEnvironmentLoader(index);
  48. dropdownContentEnv.appendChild(env);
  49. }