From eaec85489aa8ec7c16b936565bd75318dd6c8e62 Mon Sep 17 00:00:00 2001 From: Neko Ayaka Date: Wed, 19 Feb 2025 13:28:34 +0800 Subject: [PATCH] refactor: split Live2D module into two components --- packages/stage-tamagotchi/package.json | 1 + .../stage-ui/src/components/Live2D/Canvas.vue | 52 +++++++++++ .../Live2D/{Viewer.vue => Model.vue} | 92 ++++++------------- .../stage-ui/src/components/Scenes/Live2D.vue | 32 +++---- packages/stage-ui/src/components/index.ts | 3 +- packages/stage-web/package.json | 1 + pnpm-lock.yaml | 23 +++++ 7 files changed, 121 insertions(+), 83 deletions(-) create mode 100644 packages/stage-ui/src/components/Live2D/Canvas.vue rename packages/stage-ui/src/components/Live2D/{Viewer.vue => Model.vue} (68%) diff --git a/packages/stage-tamagotchi/package.json b/packages/stage-tamagotchi/package.json index eb1bf9755..574074cf0 100644 --- a/packages/stage-tamagotchi/package.json +++ b/packages/stage-tamagotchi/package.json @@ -31,6 +31,7 @@ "@pixi/core": "6", "@pixi/display": "6", "@pixi/extensions": "6", + "@pixi/interaction": "6", "@pixi/loaders": "6", "@pixi/math": "6", "@pixi/runner": "6", diff --git a/packages/stage-ui/src/components/Live2D/Canvas.vue b/packages/stage-ui/src/components/Live2D/Canvas.vue new file mode 100644 index 000000000..7d2012058 --- /dev/null +++ b/packages/stage-ui/src/components/Live2D/Canvas.vue @@ -0,0 +1,52 @@ + + + diff --git a/packages/stage-ui/src/components/Live2D/Viewer.vue b/packages/stage-ui/src/components/Live2D/Model.vue similarity index 68% rename from packages/stage-ui/src/components/Live2D/Viewer.vue rename to packages/stage-ui/src/components/Live2D/Model.vue index 5410c5a81..07e44f925 100644 --- a/packages/stage-ui/src/components/Live2D/Viewer.vue +++ b/packages/stage-ui/src/components/Live2D/Model.vue @@ -1,39 +1,38 @@ diff --git a/packages/stage-ui/src/components/Scenes/Live2D.vue b/packages/stage-ui/src/components/Scenes/Live2D.vue index 3096c9acd..05e748ddd 100644 --- a/packages/stage-ui/src/components/Scenes/Live2D.vue +++ b/packages/stage-ui/src/components/Scenes/Live2D.vue @@ -10,8 +10,10 @@ import { EmotionSurpriseMotionName, EmotionThinkMotionName, } from '../../constants/emotions' -import Live2DViewer from '../Live2D/Viewer.vue' +import Live2DCanvas from '../Live2D/Canvas.vue' +import Live2DModel from '../Live2D/Model.vue' import Screen from '../Screen.vue' +import TransitionVertical from '../TransitionVertical.vue' withDefaults(defineProps<{ model: string @@ -20,21 +22,15 @@ withDefaults(defineProps<{ mouthOpenSize: 0, }) -const modelRef = ref<{ - setMotion: (motionName: string) => Promise -}>() +const motion = defineModel('motion') const show = ref(false) - -defineExpose({ - setMotion: async (motionName: string): Promise => { - await modelRef.value?.setMotion(motionName) - }, -})