|
@@ -56,7 +56,7 @@ import { Message } from "bill/expose-common";
|
|
|
import { mergeFuns, uuid } from "@/components/drawing/hook";
|
|
|
import { title } from "./type";
|
|
|
import { amMap, getAMKey, currentTime, play } from "@/sdk/association/animation";
|
|
|
-import { AnimationModel3D } from "@/sdk";
|
|
|
+import { sdk, AnimationModel3D } from "@/sdk";
|
|
|
import {
|
|
|
showBottomBarStack,
|
|
|
showLeftCtrlPanoStack,
|
|
@@ -64,6 +64,8 @@ import {
|
|
|
showRightPanoStack,
|
|
|
showSearchStack,
|
|
|
} from "@/env";
|
|
|
+import { clickListener } from "@/utils/event";
|
|
|
+import { useRMenus } from "@/components/right-menu";
|
|
|
|
|
|
enterEdit(() => router.back());
|
|
|
useViewStack(autoSaveAnimationModel);
|
|
@@ -260,6 +262,30 @@ const deleteAm = (am: AnimationModel) => {
|
|
|
}
|
|
|
ams.value.splice(ams.value.indexOf(am), 1);
|
|
|
};
|
|
|
+
|
|
|
+let unMount: () => void;
|
|
|
+onUnmounted(
|
|
|
+ clickListener(
|
|
|
+ document.querySelector("#layout-app") as HTMLDivElement,
|
|
|
+ (pixel) => {
|
|
|
+ const pos = sdk.getPositionByScreen(pixel);
|
|
|
+ if (!focusAM.value) return;
|
|
|
+ unMount && unMount();
|
|
|
+ setTimeout(() => {
|
|
|
+ unMount = useRMenus(pixel, [
|
|
|
+ {
|
|
|
+ label: "移动到这里",
|
|
|
+ icon: "move",
|
|
|
+ handler() {
|
|
|
+ amMap[focusAM.value!.id]?.am?.moveModelTo(pixel, pos?.worldPos);
|
|
|
+ },
|
|
|
+ },
|
|
|
+ ]);
|
|
|
+ });
|
|
|
+ },
|
|
|
+ 2
|
|
|
+ )
|
|
|
+);
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|