setting.ts 950 B

123456789101112131415161718192021222324252627282930313233
  1. import { setting } from "@/store";
  2. import { nextTick, watchEffect } from "vue";
  3. import { SDK, SettingResourceType } from "../sdk";
  4. import { setPose } from ".";
  5. export const associationSetting = (sdk: SDK, mountEl: HTMLDivElement) => {
  6. watchEffect(() => {
  7. setting.value?.fov && sdk.setCameraFov(setting.value.fov);
  8. });
  9. const stopWatchPose = watchEffect(() => {
  10. if (!setting.value?.pose) return;
  11. setPose(setting.value?.pose);
  12. nextTick(() => stopWatchPose());
  13. });
  14. watchEffect(() => {
  15. if (setting.value) {
  16. // const direEl = document.querySelector("#direction") as HTMLDivElement;
  17. // direEl.style.display = setting.value.openCompass ? "block" : "none";
  18. }
  19. });
  20. watchEffect(() => {
  21. console.log(setting.value!.back);
  22. const back = setting.value!.back || "map";
  23. sdk.setBackdrop(
  24. back,
  25. back === "map" ? SettingResourceType.map : SettingResourceType.envImage,
  26. {}
  27. );
  28. });
  29. };