From 28c2d6732be6daecb8a95ca5f2696a9dad99e033 Mon Sep 17 00:00:00 2001 From: Mahiru Date: Fri, 17 Nov 2023 23:45:31 +0800 Subject: [PATCH 01/13] fix: l2d expression problem --- .../Components/Stage/MainStage/useSetFigure.ts | 18 ++++++++++++++---- .../controller/stage/pixi/PixiController.ts | 3 ++- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/packages/webgal/src/Components/Stage/MainStage/useSetFigure.ts b/packages/webgal/src/Components/Stage/MainStage/useSetFigure.ts index 5dfbd4ef7..2c20c80d0 100644 --- a/packages/webgal/src/Components/Stage/MainStage/useSetFigure.ts +++ b/packages/webgal/src/Components/Stage/MainStage/useSetFigure.ts @@ -48,7 +48,13 @@ export function useSetFigure(stageState: IStageState) { WebGAL.gameplay.pixiStage?.addFigure(thisFigKey, figName, 'center'); const regex = /.json$/; if (regex.test(figName)) { - addLive2dFigure(thisFigKey, figName, 'center', live2dMotion.find((e) => e.target === thisFigKey)?.motion ?? ''); + addLive2dFigure( + thisFigKey, + figName, + 'center', + live2dMotion.find((e) => e.target === thisFigKey)?.motion ?? '', + live2dExpression.find((e) => e.target === thisFigKey)?.expression ?? '', + ); } logger.debug('中立绘已重设'); const { duration, animation } = getEnterExitAnimation(thisFigKey, 'enter'); @@ -86,6 +92,7 @@ export function useSetFigure(stageState: IStageState) { figNameLeft, 'left', live2dMotion.find((e) => e.target === thisFigKey)?.motion ?? '', + live2dExpression.find((e) => e.target === thisFigKey)?.expression ?? '', ); } logger.debug('左立绘已重设'); @@ -124,6 +131,7 @@ export function useSetFigure(stageState: IStageState) { figNameRight, 'right', live2dMotion.find((e) => e.target === thisFigKey)?.motion ?? '', + live2dExpression.find((e) => e.target === thisFigKey)?.expression ?? '', ); } logger.debug('右立绘已重设'); @@ -171,6 +179,7 @@ export function useSetFigure(stageState: IStageState) { fig.name, fig.basePosition, live2dMotion.find((e) => e.target === thisFigKey)?.motion ?? '', + live2dExpression.find((e) => e.target === thisFigKey)?.expression ?? '', ); } logger.debug(`${fig.key}立绘已重设`); @@ -239,6 +248,7 @@ function removeFig(figObj: IStageObject, enterTikerKey: string, effects: IEffect * 如果要使用 Live2D,取消这里的注释 * @param args */ -function addLive2dFigure(...args: any[]) { - // return WebGAL.gameplay.pixiStage?.addLive2dFigure(...args); -} +// function addLive2dFigure(...args: any[]) { +// // @ts-ignore +// return WebGAL.gameplay.pixiStage?.addLive2dFigure(...args); +// } diff --git a/packages/webgal/src/Core/controller/stage/pixi/PixiController.ts b/packages/webgal/src/Core/controller/stage/pixi/PixiController.ts index a1153608d..b5cd1224b 100644 --- a/packages/webgal/src/Core/controller/stage/pixi/PixiController.ts +++ b/packages/webgal/src/Core/controller/stage/pixi/PixiController.ts @@ -519,7 +519,7 @@ export default class PixiStage { * @param jsonPath */ // eslint-disable-next-line max-params - // public addLive2dFigure(key: string, jsonPath: string, pos: string, motion: string) { + // public addLive2dFigure(key: string, jsonPath: string, pos: string, motion: string, expression: string) { // let stageWidth = this.stageWidth; // let stageHeight = this.stageHeight; // logger.debug('Using motion:', motion); @@ -579,6 +579,7 @@ export default class PixiStage { // // // model.motion(category_name, animation_index, priority_number,location.href + audio_link); // model.motion(category_name, animation_index, priority_number); + // model.expression(expression); // // // lip-sync is still a problem and you can not. // SoundManager.volume = 0; From 2f7f909b03bc244bb7928df4e03d4d13e657a67f Mon Sep 17 00:00:00 2001 From: Mahiru Date: Fri, 17 Nov 2023 23:45:51 +0800 Subject: [PATCH 02/13] Update useSetFigure.ts --- .../webgal/src/Components/Stage/MainStage/useSetFigure.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/webgal/src/Components/Stage/MainStage/useSetFigure.ts b/packages/webgal/src/Components/Stage/MainStage/useSetFigure.ts index 2c20c80d0..7d5dcc6ba 100644 --- a/packages/webgal/src/Components/Stage/MainStage/useSetFigure.ts +++ b/packages/webgal/src/Components/Stage/MainStage/useSetFigure.ts @@ -248,7 +248,7 @@ function removeFig(figObj: IStageObject, enterTikerKey: string, effects: IEffect * 如果要使用 Live2D,取消这里的注释 * @param args */ -// function addLive2dFigure(...args: any[]) { -// // @ts-ignore -// return WebGAL.gameplay.pixiStage?.addLive2dFigure(...args); -// } +function addLive2dFigure(...args: any[]) { + // @ts-ignore + // return WebGAL.gameplay.pixiStage?.addLive2dFigure(...args); +} From 82d78c3cbe8580368dc0a85eaec25782e0dd73b4 Mon Sep 17 00:00:00 2001 From: Mahiru Date: Sat, 18 Nov 2023 12:16:35 +0800 Subject: [PATCH 03/13] refactor: structure --- packages/webgal/src/App.tsx | 24 +++++++++---------- .../src/Core/Modules/animationFunctions.ts | 2 +- packages/webgal/src/Core/Modules/backlog.ts | 2 +- .../src/Core/controller/gamePlay/autoPlay.ts | 2 +- .../Core/controller/gamePlay/backToTitle.ts | 2 +- .../src/Core/controller/gamePlay/fastSkip.ts | 5 ++-- .../Core/controller/gamePlay/nextSentence.ts | 4 ++-- .../controller/gamePlay/scriptExecutor.ts | 6 ++--- .../controller/gamePlay/startContinueGame.ts | 2 +- .../controller/gamePlay/stopAllPerform.ts | 2 +- .../function => controller/gamePlay}/strIf.ts | 0 .../src/Core/controller/scene/callScene.ts | 2 +- .../src/Core/controller/scene/changeScene.ts | 2 +- .../src/Core/controller/scene/restoreScene.ts | 2 +- .../controller/stage/pixi/PixiController.ts | 2 +- .../generateTransformAnimationObj.ts | 0 .../src/Core/controller/stage/playBgm.ts | 2 +- .../src/Core/controller/stage/setVolume.ts | 2 +- .../controller/storage/jumpFromBacklog.ts | 2 +- .../src/Core/controller/storage/loadGame.ts | 4 ++-- .../src/Core/controller/storage/saveGame.ts | 2 +- .../controller/storage/storageController.ts | 2 +- .../{changeBg.ts => changeBg/index.ts} | 6 ++--- .../{util => gameScripts/changeBg}/setEbg.ts | 0 .../src/Core/gameScripts/changeFigure.ts | 4 ++-- .../choose.module.scss | 0 .../{choose.tsx => choose/index.tsx} | 4 ++-- .../webgal/src/Core/gameScripts/comment.ts | 2 +- .../webgal/src/Core/gameScripts/intro.tsx | 4 ++-- .../webgal/src/Core/gameScripts/jumpLabel.ts | 2 +- .../gameScripts/{label.ts => label/index.ts} | 0 .../gameScripts/{function => label}/jmp.ts | 0 .../gameScripts/{pixi.ts => pixi/index.ts} | 4 ++-- .../performs}/cherryBlossoms.ts | 0 .../performs}/rain.ts | 0 .../performs}/snow.ts | 0 .../Core/gameScripts/{ => pixi}/pixiInit.ts | 2 +- .../webgal/src/Core/gameScripts/playEffect.ts | 2 +- .../webgal/src/Core/gameScripts/playVideo.tsx | 2 +- packages/webgal/src/Core/gameScripts/say.ts | 2 +- .../src/Core/gameScripts/setAnimation.ts | 2 +- .../Core/gameScripts/setComplexAnimation.ts | 2 +- .../src/Core/gameScripts/setTempAnimation.ts | 2 +- .../src/Core/gameScripts/setTransform.ts | 4 ++-- .../webgal/src/Core/gameScripts/setVar.ts | 2 +- .../webgal/src/Core/gameScripts/showVars.ts | 4 ++-- .../webgal/src/Core/gameScripts/unlockBgm.ts | 2 +- .../webgal/src/Core/gameScripts/unlockCg.ts | 2 +- .../{function => vocal}/conentsCash.ts | 0 .../{playVocal.ts => vocal/index.ts} | 12 +++++----- .../{function => vocal}/vocalAnimation.ts | 0 packages/webgal/src/Core/initializeScript.ts | 2 +- .../webgal/src/Core/parser/sceneParser.ts | 4 ++-- .../util/coreInitialFunction/infoFetcher.ts | 5 ++-- .../webgal/src/Core/util/{etc => }/logger.ts | 0 packages/webgal/src/Core/util/match.ts | 6 ++--- .../util/pixiPerformManager/initRegister.ts | 6 ++--- .../pixiPerformManager/pixiPerformManager.ts | 2 +- .../Core/util/prefetcher/assetsPrefetcher.ts | 2 +- .../Core/util/prefetcher/scenePrefetcher.ts | 2 +- packages/webgal/src/Core/util/setLogo.ts | 6 ----- .../util/syncWithEditor/syncWithOrigine.ts | 2 +- .../Core/util/syncWithEditor/webSocketFunc.ts | 2 +- .../Stage/AudioContainer/AudioContainer.tsx | 2 +- .../Stage/FigureContainer/FigureContainer.tsx | 0 .../figureContainer.module.scss | 0 .../FullScreenPerform/FullScreenPerform.tsx | 0 .../fullScreenPerform.module.scss | 0 .../Stage/MainStage/MainStage.tsx | 6 ++--- .../Stage/MainStage/useSetBg.ts | 4 ++-- .../Stage/MainStage/useSetEffects.ts | 0 .../Stage/MainStage/useSetFigure.ts | 2 +- .../Stage/OldStage/OldStage.tsx | 0 .../src/{Components => }/Stage/Stage.tsx | 6 ++--- .../Stage/TextBox/TextBox.tsx | 8 +++---- .../Stage/TextBox/TextBoxFilm.tsx | 2 +- .../Stage/TextBox/textbox.module.scss | 0 .../Stage/TextBox/textboxFilm.module.scss | 0 .../Stage/TextBox/themes/imss/IMSSTextbox.tsx | 0 .../TextBox/themes/imss/imss.module.scss | 0 .../themes/standard/StandardTextbox.tsx | 0 .../themes/standard/standard.module.scss | 0 .../Stage/introContainer/IntroContainer.tsx | 0 .../introContainer/introContainer.module.scss | 0 .../{Components => }/Stage/stage.module.scss | 0 .../{Components => Stage}/themeInterface.ts | 0 .../{Components => }/UI/Backlog/Backlog.tsx | 4 ++-- .../UI/Backlog/backlog.module.scss | 0 .../BottomControlPanel/BottomControlPanel.tsx | 0 .../BottomControlPanelFilm.tsx | 0 .../bottomControlPanel.module.scss | 0 .../bottomControlPanelFilm.module.scss | 0 .../{Components => }/UI/DevPanel/DevPanel.tsx | 2 +- .../devFunctions/getPixiSscreenshot.ts | 0 .../UI/DevPanel/devPanel.module.scss | 0 .../src/{Components => }/UI/Extra/Extra.tsx | 2 +- .../{Components => }/UI/Extra/ExtraBgm.tsx | 2 +- .../src/{Components => }/UI/Extra/ExtraCg.tsx | 4 ++-- .../UI/Extra/ExtraCgElement.tsx | 2 +- .../UI/Extra/extra.module.scss | 0 .../UI/Extra/extraCG_animation_List.scss | 0 .../UI/GlobalDialog/GlobalDialog.tsx | 0 .../UI/GlobalDialog/globalDialog.module.scss | 0 .../src/{Components => }/UI/Logo/Logo.tsx | 0 .../{Components => }/UI/Logo/logo.module.scss | 0 .../src/{Components => }/UI/Menu/Menu.tsx | 0 .../UI/Menu/MenuPanel/MenuIconMap.tsx | 2 +- .../UI/Menu/MenuPanel/MenuPanel.tsx | 0 .../UI/Menu/MenuPanel/MenuPanelButton.tsx | 2 +- .../UI/Menu/MenuPanel/menuPanel.module.scss | 0 .../UI/Menu/MenuPanel/menuPanelInterface.ts | 0 .../UI/Menu/Options/Display/Display.tsx | 8 +++---- .../UI/Menu/Options/NormalButton.tsx | 2 +- .../UI/Menu/Options/NormalOption.tsx | 0 .../UI/Menu/Options/OptionInterface.ts | 0 .../UI/Menu/Options/OptionSlider.tsx | 2 +- .../UI/Menu/Options/Options.tsx | 6 ++--- .../UI/Menu/Options/Sound/Sound.tsx | 6 ++--- .../UI/Menu/Options/System/About.tsx | 0 .../UI/Menu/Options/System/System.tsx | 12 +++++----- .../UI/Menu/Options/System/about.module.scss | 0 .../Menu/Options/TextPreview/TextPreview.tsx | 2 +- .../TextPreview/textPreview.module.scss | 0 .../UI/Menu/Options/normalButton.module.scss | 0 .../UI/Menu/Options/normalOption.module.scss | 0 .../UI/Menu/Options/options.module.scss | 0 .../UI/Menu/Options/slider.css | 0 .../UI/Menu/SaveAndLoad/Load/Load.tsx | 0 .../UI/Menu/SaveAndLoad/Save/Save.tsx | 2 +- .../Menu/SaveAndLoad/SaveAndLoad.module.scss | 0 .../{Components => }/UI/Menu/menu.module.scss | 0 .../UI/PanicOverlay/PanicImage/PanicImage.tsx | 0 .../PanicImage/panicImage.module.scss | 0 .../UI/PanicOverlay/PanicOverlay.tsx | 2 +- .../PanicOverlay/PanicYoozle/PanicYoozle.tsx | 0 .../PanicYoozle/panicYoozle.module.scss | 0 .../UI/PanicOverlay/panicOverlay.module.scss | 0 .../src/{Components => }/UI/Title/Title.tsx | 2 +- .../UI/Title/title.module.scss | 0 .../UI/Translation/Translation.tsx | 0 .../UI/Translation/translation.module.scss | 0 .../src/{Components => }/UI/etc/QuickSL.tsx | 0 .../src/{Components => }/UI/getTextSize.ts | 0 .../config/config.ts => config/index.ts} | 1 + packages/webgal/src/hooks/useFontFamily.ts | 6 ++--- packages/webgal/src/hooks/useHotkey.tsx | 2 +- packages/webgal/src/hooks/useLanguage.ts | 2 +- packages/webgal/src/store/guiInterface.ts | 2 +- packages/webgal/vite.config.ts | 2 +- 149 files changed, 141 insertions(+), 146 deletions(-) rename packages/webgal/src/Core/{gameScripts/function => controller/gamePlay}/strIf.ts (100%) rename packages/webgal/src/Core/{gameScripts/function => controller/stage/pixi/animations}/generateTransformAnimationObj.ts (100%) rename packages/webgal/src/Core/gameScripts/{changeBg.ts => changeBg/index.ts} (94%) rename packages/webgal/src/Core/{util => gameScripts/changeBg}/setEbg.ts (100%) rename packages/webgal/src/Core/gameScripts/{performStyles => choose}/choose.module.scss (100%) rename packages/webgal/src/Core/gameScripts/{choose.tsx => choose/index.tsx} (94%) rename packages/webgal/src/Core/gameScripts/{label.ts => label/index.ts} (100%) rename packages/webgal/src/Core/gameScripts/{function => label}/jmp.ts (100%) rename packages/webgal/src/Core/gameScripts/{pixi.ts => pixi/index.ts} (91%) rename packages/webgal/src/Core/gameScripts/{pixiPerformScripts => pixi/performs}/cherryBlossoms.ts (100%) rename packages/webgal/src/Core/gameScripts/{pixiPerformScripts => pixi/performs}/rain.ts (100%) rename packages/webgal/src/Core/gameScripts/{pixiPerformScripts => pixi/performs}/snow.ts (100%) rename packages/webgal/src/Core/gameScripts/{ => pixi}/pixiInit.ts (96%) rename packages/webgal/src/Core/gameScripts/{function => vocal}/conentsCash.ts (100%) rename packages/webgal/src/Core/gameScripts/{playVocal.ts => vocal/index.ts} (96%) rename packages/webgal/src/Core/gameScripts/{function => vocal}/vocalAnimation.ts (100%) rename packages/webgal/src/Core/util/{etc => }/logger.ts (100%) delete mode 100644 packages/webgal/src/Core/util/setLogo.ts rename packages/webgal/src/{Components => }/Stage/AudioContainer/AudioContainer.tsx (98%) rename packages/webgal/src/{Components => }/Stage/FigureContainer/FigureContainer.tsx (100%) rename packages/webgal/src/{Components => }/Stage/FigureContainer/figureContainer.module.scss (100%) rename packages/webgal/src/{Components => }/Stage/FullScreenPerform/FullScreenPerform.tsx (100%) rename packages/webgal/src/{Components => }/Stage/FullScreenPerform/fullScreenPerform.module.scss (100%) rename packages/webgal/src/{Components => }/Stage/MainStage/MainStage.tsx (59%) rename packages/webgal/src/{Components => }/Stage/MainStage/useSetBg.ts (94%) rename packages/webgal/src/{Components => }/Stage/MainStage/useSetEffects.ts (100%) rename packages/webgal/src/{Components => }/Stage/MainStage/useSetFigure.ts (99%) rename packages/webgal/src/{Components => }/Stage/OldStage/OldStage.tsx (100%) rename packages/webgal/src/{Components => }/Stage/Stage.tsx (90%) rename packages/webgal/src/{Components => }/Stage/TextBox/TextBox.tsx (93%) rename packages/webgal/src/{Components => }/Stage/TextBox/TextBoxFilm.tsx (97%) rename packages/webgal/src/{Components => }/Stage/TextBox/textbox.module.scss (100%) rename packages/webgal/src/{Components => }/Stage/TextBox/textboxFilm.module.scss (100%) rename packages/webgal/src/{Components => }/Stage/TextBox/themes/imss/IMSSTextbox.tsx (100%) rename packages/webgal/src/{Components => }/Stage/TextBox/themes/imss/imss.module.scss (100%) rename packages/webgal/src/{Components => }/Stage/TextBox/themes/standard/StandardTextbox.tsx (100%) rename packages/webgal/src/{Components => }/Stage/TextBox/themes/standard/standard.module.scss (100%) rename packages/webgal/src/{Components => }/Stage/introContainer/IntroContainer.tsx (100%) rename packages/webgal/src/{Components => }/Stage/introContainer/introContainer.module.scss (100%) rename packages/webgal/src/{Components => }/Stage/stage.module.scss (100%) rename packages/webgal/src/{Components => Stage}/themeInterface.ts (100%) rename packages/webgal/src/{Components => }/UI/Backlog/Backlog.tsx (98%) rename packages/webgal/src/{Components => }/UI/Backlog/backlog.module.scss (100%) rename packages/webgal/src/{Components => }/UI/BottomControlPanel/BottomControlPanel.tsx (100%) rename packages/webgal/src/{Components => }/UI/BottomControlPanel/BottomControlPanelFilm.tsx (100%) rename packages/webgal/src/{Components => }/UI/BottomControlPanel/bottomControlPanel.module.scss (100%) rename packages/webgal/src/{Components => }/UI/BottomControlPanel/bottomControlPanelFilm.module.scss (100%) rename packages/webgal/src/{Components => }/UI/DevPanel/DevPanel.tsx (95%) rename packages/webgal/src/{Components => }/UI/DevPanel/devFunctions/getPixiSscreenshot.ts (100%) rename packages/webgal/src/{Components => }/UI/DevPanel/devPanel.module.scss (100%) rename packages/webgal/src/{Components => }/UI/Extra/Extra.tsx (95%) rename packages/webgal/src/{Components => }/UI/Extra/ExtraBgm.tsx (98%) rename packages/webgal/src/{Components => }/UI/Extra/ExtraCg.tsx (93%) rename packages/webgal/src/{Components => }/UI/Extra/ExtraCgElement.tsx (96%) rename packages/webgal/src/{Components => }/UI/Extra/extra.module.scss (100%) rename packages/webgal/src/{Components => }/UI/Extra/extraCG_animation_List.scss (100%) rename packages/webgal/src/{Components => }/UI/GlobalDialog/GlobalDialog.tsx (100%) rename packages/webgal/src/{Components => }/UI/GlobalDialog/globalDialog.module.scss (100%) rename packages/webgal/src/{Components => }/UI/Logo/Logo.tsx (100%) rename packages/webgal/src/{Components => }/UI/Logo/logo.module.scss (100%) rename packages/webgal/src/{Components => }/UI/Menu/Menu.tsx (100%) rename packages/webgal/src/{Components => }/UI/Menu/MenuPanel/MenuIconMap.tsx (92%) rename packages/webgal/src/{Components => }/UI/Menu/MenuPanel/MenuPanel.tsx (100%) rename packages/webgal/src/{Components => }/UI/Menu/MenuPanel/MenuPanelButton.tsx (91%) rename packages/webgal/src/{Components => }/UI/Menu/MenuPanel/menuPanel.module.scss (100%) rename packages/webgal/src/{Components => }/UI/Menu/MenuPanel/menuPanelInterface.ts (100%) rename packages/webgal/src/{Components => }/UI/Menu/Options/Display/Display.tsx (91%) rename packages/webgal/src/{Components => }/UI/Menu/Options/NormalButton.tsx (94%) rename packages/webgal/src/{Components => }/UI/Menu/Options/NormalOption.tsx (100%) rename packages/webgal/src/{Components => }/UI/Menu/Options/OptionInterface.ts (100%) rename packages/webgal/src/{Components => }/UI/Menu/Options/OptionSlider.tsx (90%) rename packages/webgal/src/{Components => }/UI/Menu/Options/Options.tsx (92%) rename packages/webgal/src/{Components => }/UI/Menu/Options/Sound/Sound.tsx (92%) rename packages/webgal/src/{Components => }/UI/Menu/Options/System/About.tsx (100%) rename packages/webgal/src/{Components => }/UI/Menu/Options/System/System.tsx (93%) rename packages/webgal/src/{Components => }/UI/Menu/Options/System/about.module.scss (100%) rename packages/webgal/src/{Components => }/UI/Menu/Options/TextPreview/TextPreview.tsx (96%) rename packages/webgal/src/{Components => }/UI/Menu/Options/TextPreview/textPreview.module.scss (100%) rename packages/webgal/src/{Components => }/UI/Menu/Options/normalButton.module.scss (100%) rename packages/webgal/src/{Components => }/UI/Menu/Options/normalOption.module.scss (100%) rename packages/webgal/src/{Components => }/UI/Menu/Options/options.module.scss (100%) rename packages/webgal/src/{Components => }/UI/Menu/Options/slider.css (100%) rename packages/webgal/src/{Components => }/UI/Menu/SaveAndLoad/Load/Load.tsx (100%) rename packages/webgal/src/{Components => }/UI/Menu/SaveAndLoad/Save/Save.tsx (98%) rename packages/webgal/src/{Components => }/UI/Menu/SaveAndLoad/SaveAndLoad.module.scss (100%) rename packages/webgal/src/{Components => }/UI/Menu/menu.module.scss (100%) rename packages/webgal/src/{Components => }/UI/PanicOverlay/PanicImage/PanicImage.tsx (100%) rename packages/webgal/src/{Components => }/UI/PanicOverlay/PanicImage/panicImage.module.scss (100%) rename packages/webgal/src/{Components => }/UI/PanicOverlay/PanicOverlay.tsx (88%) rename packages/webgal/src/{Components => }/UI/PanicOverlay/PanicYoozle/PanicYoozle.tsx (100%) rename packages/webgal/src/{Components => }/UI/PanicOverlay/PanicYoozle/panicYoozle.module.scss (100%) rename packages/webgal/src/{Components => }/UI/PanicOverlay/panicOverlay.module.scss (100%) rename packages/webgal/src/{Components => }/UI/Title/Title.tsx (98%) rename packages/webgal/src/{Components => }/UI/Title/title.module.scss (100%) rename packages/webgal/src/{Components => }/UI/Translation/Translation.tsx (100%) rename packages/webgal/src/{Components => }/UI/Translation/translation.module.scss (100%) rename packages/webgal/src/{Components => }/UI/etc/QuickSL.tsx (100%) rename packages/webgal/src/{Components => }/UI/getTextSize.ts (100%) rename packages/webgal/src/{Core/config/config.ts => config/index.ts} (87%) diff --git a/packages/webgal/src/App.tsx b/packages/webgal/src/App.tsx index 471919b7c..872325615 100644 --- a/packages/webgal/src/App.tsx +++ b/packages/webgal/src/App.tsx @@ -1,19 +1,19 @@ -import Title from './Components/UI/Title/Title'; -import Logo from './Components/UI/Logo/Logo'; +import Title from '@/UI/Title/Title'; +import Logo from '@/UI/Logo/Logo'; import { useEffect } from 'react'; import { initializeScript } from './Core/initializeScript'; -import Menu from './Components/UI/Menu/Menu'; -import { Stage } from './Components/Stage/Stage'; -import { BottomControlPanel } from './Components/UI/BottomControlPanel/BottomControlPanel'; -import { Backlog } from './Components/UI/Backlog/Backlog'; +import Menu from '@/UI/Menu/Menu'; +import { Stage } from '@/Stage/Stage'; +import { BottomControlPanel } from '@/UI/BottomControlPanel/BottomControlPanel'; +import { Backlog } from '@/UI/Backlog/Backlog'; import { Provider } from 'react-redux'; import { webgalStore } from './store/store'; -import { Extra } from '@/Components/UI/Extra/Extra'; -import { BottomControlPanelFilm } from './Components/UI/BottomControlPanel/BottomControlPanelFilm'; -import GlobalDialog from '@/Components/UI/GlobalDialog/GlobalDialog'; -import DevPanel from '@/Components/UI/DevPanel/DevPanel'; -import Translation from '@/Components/UI/Translation/Translation'; -import { PanicOverlay } from '@/Components/UI/PanicOverlay/PanicOverlay'; +import { Extra } from '@/UI/Extra/Extra'; +import { BottomControlPanelFilm } from '@/UI/BottomControlPanel/BottomControlPanelFilm'; +import GlobalDialog from '@/UI/GlobalDialog/GlobalDialog'; +import DevPanel from '@/UI/DevPanel/DevPanel'; +import Translation from '@/UI/Translation/Translation'; +import { PanicOverlay } from '@/UI/PanicOverlay/PanicOverlay'; function App() { useEffect(() => { diff --git a/packages/webgal/src/Core/Modules/animationFunctions.ts b/packages/webgal/src/Core/Modules/animationFunctions.ts index 8e1adb1cf..ab25fe7bd 100644 --- a/packages/webgal/src/Core/Modules/animationFunctions.ts +++ b/packages/webgal/src/Core/Modules/animationFunctions.ts @@ -1,5 +1,5 @@ import { generateUniversalSoftInAnimationObj } from '@/Core/controller/stage/pixi/animations/universalSoftIn'; -import { logger } from '@/Core/util/etc/logger'; +import { logger } from '@/Core/util/logger'; import { generateUniversalSoftOffAnimationObj } from '@/Core/controller/stage/pixi/animations/universalSoftOff'; import { webgalStore } from '@/store/store'; import cloneDeep from 'lodash/cloneDeep'; diff --git a/packages/webgal/src/Core/Modules/backlog.ts b/packages/webgal/src/Core/Modules/backlog.ts index 42e6281c2..8d9c9e8c8 100644 --- a/packages/webgal/src/Core/Modules/backlog.ts +++ b/packages/webgal/src/Core/Modules/backlog.ts @@ -6,7 +6,7 @@ import { webgalStore } from '@/store/store'; import { ISaveScene } from '@/store/userDataInterface'; import cloneDeep from 'lodash/cloneDeep'; -import { SYSTEM_CONFIG } from '@/Core/config/config'; +import { SYSTEM_CONFIG } from '@/config'; import { SceneManager } from '@/Core/Modules/scene'; export interface IBacklogItem { diff --git a/packages/webgal/src/Core/controller/gamePlay/autoPlay.ts b/packages/webgal/src/Core/controller/gamePlay/autoPlay.ts index 2973fcd84..0abe68278 100644 --- a/packages/webgal/src/Core/controller/gamePlay/autoPlay.ts +++ b/packages/webgal/src/Core/controller/gamePlay/autoPlay.ts @@ -1,5 +1,5 @@ // import {logger} from '../../util/logger'; -import styles from '../../../Components/UI/BottomControlPanel/bottomControlPanel.module.scss'; +import styles from '@/UI/BottomControlPanel/bottomControlPanel.module.scss'; import { webgalStore } from '@/store/store'; import { nextSentence } from '@/Core/controller/gamePlay/nextSentence'; diff --git a/packages/webgal/src/Core/controller/gamePlay/backToTitle.ts b/packages/webgal/src/Core/controller/gamePlay/backToTitle.ts index be09b7e44..f52909d67 100644 --- a/packages/webgal/src/Core/controller/gamePlay/backToTitle.ts +++ b/packages/webgal/src/Core/controller/gamePlay/backToTitle.ts @@ -3,7 +3,7 @@ import { setVisibility } from '@/store/GUIReducer'; import { stopAllPerform } from '@/Core/controller/gamePlay/stopAllPerform'; import { stopAuto } from '@/Core/controller/gamePlay/autoPlay'; import { stopFast } from '@/Core/controller/gamePlay/fastSkip'; -import { setEbg } from '@/Core/util/setEbg'; +import { setEbg } from '@/Core/gameScripts/changeBg/setEbg'; export const backToTitle = () => { const dispatch = webgalStore.dispatch; diff --git a/packages/webgal/src/Core/controller/gamePlay/fastSkip.ts b/packages/webgal/src/Core/controller/gamePlay/fastSkip.ts index 9a112d052..755e5d500 100644 --- a/packages/webgal/src/Core/controller/gamePlay/fastSkip.ts +++ b/packages/webgal/src/Core/controller/gamePlay/fastSkip.ts @@ -1,9 +1,10 @@ // 切换自动播放状态 import { stopAuto } from './autoPlay'; -import styles from '../../../Components/UI/BottomControlPanel/bottomControlPanel.module.scss'; +import styles from '@/UI/BottomControlPanel/bottomControlPanel.module.scss'; import { nextSentence } from '@/Core/controller/gamePlay/nextSentence'; import { WebGAL } from '@/Core/WebGAL'; +import { SYSTEM_CONFIG } from '@/config'; /** * 设置 fast 按钮的激活与否 @@ -44,7 +45,7 @@ export const startFast = () => { setButton(true); WebGAL.gameplay.fastInterval = setInterval(() => { nextSentence(); - }, 100); + }, SYSTEM_CONFIG.fast_timeout); }; // 判断是否是快进模式 diff --git a/packages/webgal/src/Core/controller/gamePlay/nextSentence.ts b/packages/webgal/src/Core/controller/gamePlay/nextSentence.ts index 5e59331ce..55ee242b3 100644 --- a/packages/webgal/src/Core/controller/gamePlay/nextSentence.ts +++ b/packages/webgal/src/Core/controller/gamePlay/nextSentence.ts @@ -1,11 +1,11 @@ import { scriptExecutor } from './scriptExecutor'; -import { logger } from '../../util/etc/logger'; +import { logger } from '../../util/logger'; import { webgalStore } from '@/store/store'; import { resetStageState } from '@/store/stageReducer'; import cloneDeep from 'lodash/cloneDeep'; import { IBacklogItem } from '@/Core/Modules/backlog'; -import { SYSTEM_CONFIG } from '@/Core/config/config'; +import { SYSTEM_CONFIG } from '@/config'; import { WebGAL } from '@/Core/WebGAL'; import { IRunPerform } from '@/store/stageInterface'; diff --git a/packages/webgal/src/Core/controller/gamePlay/scriptExecutor.ts b/packages/webgal/src/Core/controller/gamePlay/scriptExecutor.ts index 6e702bcb4..4d5c07cc8 100644 --- a/packages/webgal/src/Core/controller/gamePlay/scriptExecutor.ts +++ b/packages/webgal/src/Core/controller/gamePlay/scriptExecutor.ts @@ -1,16 +1,16 @@ import { commandType, ISentence } from '@/Core/controller/scene/sceneInterface'; import { runScript } from './runScript'; -import { logger } from '../../util/etc/logger'; +import { logger } from '../../util/logger'; import { IStageState } from '@/store/stageInterface'; import { restoreScene } from '../scene/restoreScene'; import { webgalStore } from '@/store/store'; import { getValueFromState } from '@/Core/gameScripts/setVar'; -import { strIf } from '@/Core/gameScripts/function/strIf'; +import { strIf } from '@/Core/controller/gamePlay/strIf'; import { nextSentence } from '@/Core/controller/gamePlay/nextSentence'; import cloneDeep from 'lodash/cloneDeep'; import { ISceneEntry } from '@/Core/Modules/scene'; import { IBacklogItem } from '@/Core/Modules/backlog'; -import { SYSTEM_CONFIG } from '@/Core/config/config'; +import { SYSTEM_CONFIG } from '@/config'; import { WebGAL } from '@/Core/WebGAL'; /** diff --git a/packages/webgal/src/Core/controller/gamePlay/startContinueGame.ts b/packages/webgal/src/Core/controller/gamePlay/startContinueGame.ts index 0a220e6f9..e3998acd5 100644 --- a/packages/webgal/src/Core/controller/gamePlay/startContinueGame.ts +++ b/packages/webgal/src/Core/controller/gamePlay/startContinueGame.ts @@ -5,7 +5,7 @@ import { resetStage } from '@/Core/controller/stage/resetStage'; import { webgalStore } from '@/store/store'; import { setVisibility } from '@/store/GUIReducer'; import { nextSentence } from '@/Core/controller/gamePlay/nextSentence'; -import { setEbg } from '@/Core/util/setEbg'; +import { setEbg } from '@/Core/gameScripts/changeBg/setEbg'; import { restorePerform } from '@/Core/controller/storage/jumpFromBacklog'; import { hasFastSaveRecord, loadFastSaveGame } from '@/Core/controller/storage/fastSaveLoad'; diff --git a/packages/webgal/src/Core/controller/gamePlay/stopAllPerform.ts b/packages/webgal/src/Core/controller/gamePlay/stopAllPerform.ts index a65e035d5..fd3746d81 100644 --- a/packages/webgal/src/Core/controller/gamePlay/stopAllPerform.ts +++ b/packages/webgal/src/Core/controller/gamePlay/stopAllPerform.ts @@ -1,4 +1,4 @@ -import { logger } from '@/Core/util/etc/logger'; +import { logger } from '@/Core/util/logger'; import { WebGAL } from '@/Core/WebGAL'; diff --git a/packages/webgal/src/Core/gameScripts/function/strIf.ts b/packages/webgal/src/Core/controller/gamePlay/strIf.ts similarity index 100% rename from packages/webgal/src/Core/gameScripts/function/strIf.ts rename to packages/webgal/src/Core/controller/gamePlay/strIf.ts diff --git a/packages/webgal/src/Core/controller/scene/callScene.ts b/packages/webgal/src/Core/controller/scene/callScene.ts index cee1337bc..4aa1141dc 100644 --- a/packages/webgal/src/Core/controller/scene/callScene.ts +++ b/packages/webgal/src/Core/controller/scene/callScene.ts @@ -1,6 +1,6 @@ import { sceneFetcher } from './sceneFetcher'; import { sceneParser } from '../../parser/sceneParser'; -import { logger } from '../../util/etc/logger'; +import { logger } from '../../util/logger'; import { nextSentence } from '@/Core/controller/gamePlay/nextSentence'; import uniqWith from 'lodash/uniqWith'; import { scenePrefetcher } from '@/Core/util/prefetcher/scenePrefetcher'; diff --git a/packages/webgal/src/Core/controller/scene/changeScene.ts b/packages/webgal/src/Core/controller/scene/changeScene.ts index 21a268901..8b1a431e4 100644 --- a/packages/webgal/src/Core/controller/scene/changeScene.ts +++ b/packages/webgal/src/Core/controller/scene/changeScene.ts @@ -1,6 +1,6 @@ import { sceneFetcher } from './sceneFetcher'; import { sceneParser } from '../../parser/sceneParser'; -import { logger } from '../../util/etc/logger'; +import { logger } from '../../util/logger'; import { nextSentence } from '@/Core/controller/gamePlay/nextSentence'; import uniqWith from 'lodash/uniqWith'; import { scenePrefetcher } from '@/Core/util/prefetcher/scenePrefetcher'; diff --git a/packages/webgal/src/Core/controller/scene/restoreScene.ts b/packages/webgal/src/Core/controller/scene/restoreScene.ts index 34a2c74c5..b75e5b44d 100644 --- a/packages/webgal/src/Core/controller/scene/restoreScene.ts +++ b/packages/webgal/src/Core/controller/scene/restoreScene.ts @@ -1,6 +1,6 @@ import { sceneFetcher } from './sceneFetcher'; import { sceneParser } from '../../parser/sceneParser'; -import { logger } from '../../util/etc/logger'; +import { logger } from '../../util/logger'; import { nextSentence } from '@/Core/controller/gamePlay/nextSentence'; import { ISceneEntry } from '@/Core/Modules/scene'; diff --git a/packages/webgal/src/Core/controller/stage/pixi/PixiController.ts b/packages/webgal/src/Core/controller/stage/pixi/PixiController.ts index b5cd1224b..07a0f7cc5 100644 --- a/packages/webgal/src/Core/controller/stage/pixi/PixiController.ts +++ b/packages/webgal/src/Core/controller/stage/pixi/PixiController.ts @@ -4,7 +4,7 @@ import { webgalStore } from '@/store/store'; import { setStage, stageActions } from '@/store/stageReducer'; import cloneDeep from 'lodash/cloneDeep'; import { IEffect, IFigureAssociatedAnimation } from '@/store/stageInterface'; -import { logger } from '@/Core/util/etc/logger'; +import { logger } from '@/Core/util/logger'; import { isIOS } from '@/Core/initializeScript'; import { WebGALPixiContainer } from '@/Core/controller/stage/pixi/WebGALPixiContainer'; import { WebGAL } from '@/Core/WebGAL'; diff --git a/packages/webgal/src/Core/gameScripts/function/generateTransformAnimationObj.ts b/packages/webgal/src/Core/controller/stage/pixi/animations/generateTransformAnimationObj.ts similarity index 100% rename from packages/webgal/src/Core/gameScripts/function/generateTransformAnimationObj.ts rename to packages/webgal/src/Core/controller/stage/pixi/animations/generateTransformAnimationObj.ts diff --git a/packages/webgal/src/Core/controller/stage/playBgm.ts b/packages/webgal/src/Core/controller/stage/playBgm.ts index 9b03c5268..5a526316e 100644 --- a/packages/webgal/src/Core/controller/stage/playBgm.ts +++ b/packages/webgal/src/Core/controller/stage/playBgm.ts @@ -1,6 +1,6 @@ import { webgalStore } from '@/store/store'; import { setStage } from '@/store/stageReducer'; -import { logger } from '@/Core/util/etc/logger'; +import { logger } from '@/Core/util/logger'; // /** // * 停止bgm diff --git a/packages/webgal/src/Core/controller/stage/setVolume.ts b/packages/webgal/src/Core/controller/stage/setVolume.ts index 7e1207edf..14f0ec36f 100644 --- a/packages/webgal/src/Core/controller/stage/setVolume.ts +++ b/packages/webgal/src/Core/controller/stage/setVolume.ts @@ -1,4 +1,4 @@ -import { logger } from '../../util/etc/logger'; +import { logger } from '../../util/logger'; import { webgalStore } from '@/store/store'; /** diff --git a/packages/webgal/src/Core/controller/storage/jumpFromBacklog.ts b/packages/webgal/src/Core/controller/storage/jumpFromBacklog.ts index 313671252..5b5f0cc21 100644 --- a/packages/webgal/src/Core/controller/storage/jumpFromBacklog.ts +++ b/packages/webgal/src/Core/controller/storage/jumpFromBacklog.ts @@ -1,4 +1,4 @@ -import { logger } from '../../util/etc/logger'; +import { logger } from '../../util/logger'; import { sceneFetcher } from '../scene/sceneFetcher'; import { sceneParser } from '../../parser/sceneParser'; import { IStageState } from '@/store/stageInterface'; diff --git a/packages/webgal/src/Core/controller/storage/loadGame.ts b/packages/webgal/src/Core/controller/storage/loadGame.ts index 66ad2a4a3..f30ea6657 100644 --- a/packages/webgal/src/Core/controller/storage/loadGame.ts +++ b/packages/webgal/src/Core/controller/storage/loadGame.ts @@ -1,5 +1,5 @@ import { ISaveData } from '@/store/userDataInterface'; -import { logger } from '../../util/etc/logger'; +import { logger } from '../../util/logger'; import { sceneFetcher } from '../scene/sceneFetcher'; import { sceneParser } from '../../parser/sceneParser'; import { webgalStore } from '@/store/store'; @@ -10,7 +10,7 @@ import { stopAllPerform } from '@/Core/controller/gamePlay/stopAllPerform'; import cloneDeep from 'lodash/cloneDeep'; import uniqWith from 'lodash/uniqWith'; import { scenePrefetcher } from '@/Core/util/prefetcher/scenePrefetcher'; -import { setEbg } from '@/Core/util/setEbg'; +import { setEbg } from '@/Core/gameScripts/changeBg/setEbg'; import { WebGAL } from '@/Core/WebGAL'; diff --git a/packages/webgal/src/Core/controller/storage/saveGame.ts b/packages/webgal/src/Core/controller/storage/saveGame.ts index ec4d1289c..cb5c20f73 100644 --- a/packages/webgal/src/Core/controller/storage/saveGame.ts +++ b/packages/webgal/src/Core/controller/storage/saveGame.ts @@ -1,4 +1,4 @@ -import { logger } from '../../util/etc/logger'; +import { logger } from '../../util/logger'; import { ISaveData } from '@/store/userDataInterface'; import { syncStorageFast } from './storageController'; import { webgalStore } from '@/store/store'; diff --git a/packages/webgal/src/Core/controller/storage/storageController.ts b/packages/webgal/src/Core/controller/storage/storageController.ts index ba3947815..b44168837 100644 --- a/packages/webgal/src/Core/controller/storage/storageController.ts +++ b/packages/webgal/src/Core/controller/storage/storageController.ts @@ -1,6 +1,6 @@ import * as localforage from 'localforage'; import { IUserData } from '@/store/userDataInterface'; -import { logger } from '../../util/etc/logger'; +import { logger } from '../../util/logger'; import { webgalStore } from '@/store/store'; import { initState, resetUserData } from '@/store/userDataReducer'; diff --git a/packages/webgal/src/Core/gameScripts/changeBg.ts b/packages/webgal/src/Core/gameScripts/changeBg/index.ts similarity index 94% rename from packages/webgal/src/Core/gameScripts/changeBg.ts rename to packages/webgal/src/Core/gameScripts/changeBg/index.ts index cf41292a5..9917789f6 100644 --- a/packages/webgal/src/Core/gameScripts/changeBg.ts +++ b/packages/webgal/src/Core/gameScripts/changeBg/index.ts @@ -1,14 +1,14 @@ import { ISentence } from '@/Core/controller/scene/sceneInterface'; import { IPerform } from '@/Core/Modules/perform/performInterface'; // import {getRandomPerformName} from '../../../util/getRandomPerformName'; -import styles from '../../Components/Stage/stage.module.scss'; +import styles from '@/Stage/stage.module.scss'; import { webgalStore } from '@/store/store'; import { setStage, stageActions } from '@/store/stageReducer'; import { getSentenceArgByKey } from '@/Core/util/getSentenceArg'; import { unlockCgInUserData } from '@/store/userDataReducer'; -import { logger } from '@/Core/util/etc/logger'; +import { logger } from '@/Core/util/logger'; import { ITransform } from '@/store/stageInterface'; -import { generateTransformAnimationObj } from '@/Core/gameScripts/function/generateTransformAnimationObj'; +import { generateTransformAnimationObj } from '@/Core/controller/stage/pixi/animations/generateTransformAnimationObj'; import { IUserAnimation } from '@/Core/Modules/animations'; import cloneDeep from 'lodash/cloneDeep'; import { getAnimateDuration } from '@/Core/Modules/animationFunctions'; diff --git a/packages/webgal/src/Core/util/setEbg.ts b/packages/webgal/src/Core/gameScripts/changeBg/setEbg.ts similarity index 100% rename from packages/webgal/src/Core/util/setEbg.ts rename to packages/webgal/src/Core/gameScripts/changeBg/setEbg.ts diff --git a/packages/webgal/src/Core/gameScripts/changeFigure.ts b/packages/webgal/src/Core/gameScripts/changeFigure.ts index 5b2911b17..98f26beb7 100644 --- a/packages/webgal/src/Core/gameScripts/changeFigure.ts +++ b/packages/webgal/src/Core/gameScripts/changeFigure.ts @@ -6,9 +6,9 @@ import cloneDeep from 'lodash/cloneDeep'; import { getSentenceArgByKey } from '@/Core/util/getSentenceArg'; import { IFreeFigure, IStageState, ITransform } from '@/store/stageInterface'; import { IUserAnimation } from '@/Core/Modules/animations'; -import { generateTransformAnimationObj } from '@/Core/gameScripts/function/generateTransformAnimationObj'; +import { generateTransformAnimationObj } from '@/Core/controller/stage/pixi/animations/generateTransformAnimationObj'; import { assetSetter, fileType } from '@/Core/util/gameAssetsAccess/assetSetter'; -import { logger } from '@/Core/util/etc/logger'; +import { logger } from '@/Core/util/logger'; import { getAnimateDuration } from '@/Core/Modules/animationFunctions'; import { WebGAL } from '@/Core/WebGAL'; /** diff --git a/packages/webgal/src/Core/gameScripts/performStyles/choose.module.scss b/packages/webgal/src/Core/gameScripts/choose/choose.module.scss similarity index 100% rename from packages/webgal/src/Core/gameScripts/performStyles/choose.module.scss rename to packages/webgal/src/Core/gameScripts/choose/choose.module.scss diff --git a/packages/webgal/src/Core/gameScripts/choose.tsx b/packages/webgal/src/Core/gameScripts/choose/index.tsx similarity index 94% rename from packages/webgal/src/Core/gameScripts/choose.tsx rename to packages/webgal/src/Core/gameScripts/choose/index.tsx index d4b4b645b..5c1fa6ea4 100644 --- a/packages/webgal/src/Core/gameScripts/choose.tsx +++ b/packages/webgal/src/Core/gameScripts/choose/index.tsx @@ -1,10 +1,10 @@ import { ISentence } from '@/Core/controller/scene/sceneInterface'; import { IPerform } from '@/Core/Modules/perform/performInterface'; import { changeScene } from '@/Core/controller/scene/changeScene'; -import { jmp } from '@/Core/gameScripts/function/jmp'; +import { jmp } from '@/Core/gameScripts/label/jmp'; import ReactDOM from 'react-dom'; import React from 'react'; -import styles from './performStyles/choose.module.scss'; +import styles from './choose.module.scss'; import { webgalStore } from '@/store/store'; import { textFont } from '@/store/userDataInterface'; import { PerformController } from '@/Core/Modules/perform/performController'; diff --git a/packages/webgal/src/Core/gameScripts/comment.ts b/packages/webgal/src/Core/gameScripts/comment.ts index 4c9526fe3..8d2b9917d 100644 --- a/packages/webgal/src/Core/gameScripts/comment.ts +++ b/packages/webgal/src/Core/gameScripts/comment.ts @@ -1,6 +1,6 @@ import { ISentence } from '@/Core/controller/scene/sceneInterface'; import { IPerform } from '@/Core/Modules/perform/performInterface'; -import { logger } from '@/Core/util/etc/logger'; +import { logger } from '@/Core/util/logger'; /** * 注释,打LOG diff --git a/packages/webgal/src/Core/gameScripts/intro.tsx b/packages/webgal/src/Core/gameScripts/intro.tsx index bd1df9904..346084195 100644 --- a/packages/webgal/src/Core/gameScripts/intro.tsx +++ b/packages/webgal/src/Core/gameScripts/intro.tsx @@ -2,10 +2,10 @@ import { ISentence } from '@/Core/controller/scene/sceneInterface'; import { IPerform } from '@/Core/Modules/perform/performInterface'; import React from 'react'; import ReactDOM from 'react-dom'; -import styles from '../../Components/Stage/FullScreenPerform/fullScreenPerform.module.scss'; +import styles from '@/Stage/FullScreenPerform/fullScreenPerform.module.scss'; import { nextSentence } from '@/Core/controller/gamePlay/nextSentence'; import { PerformController } from '@/Core/Modules/perform/performController'; -import { logger } from '@/Core/util/etc/logger'; +import { logger } from '@/Core/util/logger'; import { WebGAL } from '@/Core/WebGAL'; /** * 显示一小段黑屏演示 diff --git a/packages/webgal/src/Core/gameScripts/jumpLabel.ts b/packages/webgal/src/Core/gameScripts/jumpLabel.ts index 91398045c..9baaf2b4c 100644 --- a/packages/webgal/src/Core/gameScripts/jumpLabel.ts +++ b/packages/webgal/src/Core/gameScripts/jumpLabel.ts @@ -1,6 +1,6 @@ import { ISentence } from '@/Core/controller/scene/sceneInterface'; import { IPerform } from '@/Core/Modules/perform/performInterface'; -import { jmp } from '@/Core/gameScripts/function/jmp'; +import { jmp } from '@/Core/gameScripts/label/jmp'; /** * 跳转到指定标签 diff --git a/packages/webgal/src/Core/gameScripts/label.ts b/packages/webgal/src/Core/gameScripts/label/index.ts similarity index 100% rename from packages/webgal/src/Core/gameScripts/label.ts rename to packages/webgal/src/Core/gameScripts/label/index.ts diff --git a/packages/webgal/src/Core/gameScripts/function/jmp.ts b/packages/webgal/src/Core/gameScripts/label/jmp.ts similarity index 100% rename from packages/webgal/src/Core/gameScripts/function/jmp.ts rename to packages/webgal/src/Core/gameScripts/label/jmp.ts diff --git a/packages/webgal/src/Core/gameScripts/pixi.ts b/packages/webgal/src/Core/gameScripts/pixi/index.ts similarity index 91% rename from packages/webgal/src/Core/gameScripts/pixi.ts rename to packages/webgal/src/Core/gameScripts/pixi/index.ts index ea789d79f..57ca15f14 100644 --- a/packages/webgal/src/Core/gameScripts/pixi.ts +++ b/packages/webgal/src/Core/gameScripts/pixi/index.ts @@ -1,7 +1,7 @@ import { ISentence } from '@/Core/controller/scene/sceneInterface'; import { IPerform } from '@/Core/Modules/perform/performInterface'; -import { logger } from '@/Core/util/etc/logger'; -import { IResult, call } from '../util/pixiPerformManager/pixiPerformManager'; +import { logger } from '@/Core/util/logger'; +import { IResult, call } from '../../util/pixiPerformManager/pixiPerformManager'; import { WebGAL } from '@/Core/WebGAL'; diff --git a/packages/webgal/src/Core/gameScripts/pixiPerformScripts/cherryBlossoms.ts b/packages/webgal/src/Core/gameScripts/pixi/performs/cherryBlossoms.ts similarity index 100% rename from packages/webgal/src/Core/gameScripts/pixiPerformScripts/cherryBlossoms.ts rename to packages/webgal/src/Core/gameScripts/pixi/performs/cherryBlossoms.ts diff --git a/packages/webgal/src/Core/gameScripts/pixiPerformScripts/rain.ts b/packages/webgal/src/Core/gameScripts/pixi/performs/rain.ts similarity index 100% rename from packages/webgal/src/Core/gameScripts/pixiPerformScripts/rain.ts rename to packages/webgal/src/Core/gameScripts/pixi/performs/rain.ts diff --git a/packages/webgal/src/Core/gameScripts/pixiPerformScripts/snow.ts b/packages/webgal/src/Core/gameScripts/pixi/performs/snow.ts similarity index 100% rename from packages/webgal/src/Core/gameScripts/pixiPerformScripts/snow.ts rename to packages/webgal/src/Core/gameScripts/pixi/performs/snow.ts diff --git a/packages/webgal/src/Core/gameScripts/pixiInit.ts b/packages/webgal/src/Core/gameScripts/pixi/pixiInit.ts similarity index 96% rename from packages/webgal/src/Core/gameScripts/pixiInit.ts rename to packages/webgal/src/Core/gameScripts/pixi/pixiInit.ts index c7b7d2856..60c7a5aef 100644 --- a/packages/webgal/src/Core/gameScripts/pixiInit.ts +++ b/packages/webgal/src/Core/gameScripts/pixi/pixiInit.ts @@ -1,6 +1,6 @@ import { commandType, ISentence } from '@/Core/controller/scene/sceneInterface'; import { IPerform } from '@/Core/Modules/perform/performInterface'; -import { logger } from '@/Core/util/etc/logger'; +import { logger } from '@/Core/util/logger'; import { webgalStore } from '@/store/store'; import { resetStageState, stageActions } from '@/store/stageReducer'; import cloneDeep from 'lodash/cloneDeep'; diff --git a/packages/webgal/src/Core/gameScripts/playEffect.ts b/packages/webgal/src/Core/gameScripts/playEffect.ts index a9fd79574..d789c40cf 100644 --- a/packages/webgal/src/Core/gameScripts/playEffect.ts +++ b/packages/webgal/src/Core/gameScripts/playEffect.ts @@ -1,5 +1,5 @@ import { ISentence } from '@/Core/controller/scene/sceneInterface'; -import { logger } from '@/Core/util/etc/logger'; +import { logger } from '@/Core/util/logger'; import { RootState, webgalStore } from '@/store/store'; import { getSentenceArgByKey } from '@/Core/util/getSentenceArg'; import { IPerform } from '@/Core/Modules/perform/performInterface'; diff --git a/packages/webgal/src/Core/gameScripts/playVideo.tsx b/packages/webgal/src/Core/gameScripts/playVideo.tsx index 8937a87f0..443490d05 100644 --- a/packages/webgal/src/Core/gameScripts/playVideo.tsx +++ b/packages/webgal/src/Core/gameScripts/playVideo.tsx @@ -2,7 +2,7 @@ import { ISentence } from '@/Core/controller/scene/sceneInterface'; import { IPerform } from '@/Core/Modules/perform/performInterface'; import React from 'react'; import ReactDOM from 'react-dom'; -import styles from '../../Components/Stage/FullScreenPerform/fullScreenPerform.module.scss'; +import styles from '@/Stage/FullScreenPerform/fullScreenPerform.module.scss'; import { webgalStore } from '@/store/store'; import { nextSentence } from '@/Core/controller/gamePlay/nextSentence'; import { getRandomPerformName, PerformController } from '@/Core/Modules/perform/performController'; diff --git a/packages/webgal/src/Core/gameScripts/say.ts b/packages/webgal/src/Core/gameScripts/say.ts index eb2171ac3..56908f488 100644 --- a/packages/webgal/src/Core/gameScripts/say.ts +++ b/packages/webgal/src/Core/gameScripts/say.ts @@ -1,6 +1,6 @@ import { ISentence } from '@/Core/controller/scene/sceneInterface'; import { IPerform } from '@/Core/Modules/perform/performInterface'; -import { playVocal } from './playVocal'; +import { playVocal } from './vocal'; import { webgalStore } from '@/store/store'; import { setStage } from '@/store/stageReducer'; import { useTextDelay } from '@/hooks/useTextOptions'; diff --git a/packages/webgal/src/Core/gameScripts/setAnimation.ts b/packages/webgal/src/Core/gameScripts/setAnimation.ts index 586d8181d..a3b918d9d 100644 --- a/packages/webgal/src/Core/gameScripts/setAnimation.ts +++ b/packages/webgal/src/Core/gameScripts/setAnimation.ts @@ -2,7 +2,7 @@ import { ISentence } from '@/Core/controller/scene/sceneInterface'; import { IPerform } from '@/Core/Modules/perform/performInterface'; import { getSentenceArgByKey } from '@/Core/util/getSentenceArg'; import { IAnimationObject } from '@/Core/controller/stage/pixi/PixiController'; -import { logger } from '@/Core/util/etc/logger'; +import { logger } from '@/Core/util/logger'; import { webgalStore } from '@/store/store'; import { getAnimateDuration, getAnimationObject } from '@/Core/Modules/animationFunctions'; diff --git a/packages/webgal/src/Core/gameScripts/setComplexAnimation.ts b/packages/webgal/src/Core/gameScripts/setComplexAnimation.ts index 013c40da6..01ac5cfe0 100644 --- a/packages/webgal/src/Core/gameScripts/setComplexAnimation.ts +++ b/packages/webgal/src/Core/gameScripts/setComplexAnimation.ts @@ -3,7 +3,7 @@ import { IPerform } from '@/Core/Modules/perform/performInterface'; import { getSentenceArgByKey } from '@/Core/util/getSentenceArg'; import { webgalAnimations } from '@/Core/controller/stage/pixi/animations'; import { IAnimationObject } from '@/Core/controller/stage/pixi/PixiController'; -import { logger } from '@/Core/util/etc/logger'; +import { logger } from '@/Core/util/logger'; import { webgalStore } from '@/store/store'; import { WebGAL } from '@/Core/WebGAL'; diff --git a/packages/webgal/src/Core/gameScripts/setTempAnimation.ts b/packages/webgal/src/Core/gameScripts/setTempAnimation.ts index 254133439..9b0526e66 100644 --- a/packages/webgal/src/Core/gameScripts/setTempAnimation.ts +++ b/packages/webgal/src/Core/gameScripts/setTempAnimation.ts @@ -2,7 +2,7 @@ import { ISentence } from '@/Core/controller/scene/sceneInterface'; import { IPerform } from '@/Core/Modules/perform/performInterface'; import { getSentenceArgByKey } from '@/Core/util/getSentenceArg'; import { IAnimationObject } from '@/Core/controller/stage/pixi/PixiController'; -import { logger } from '@/Core/util/etc/logger'; +import { logger } from '@/Core/util/logger'; import { webgalStore } from '@/store/store'; import { generateTimelineObj } from '@/Core/controller/stage/pixi/animations/timeline'; import cloneDeep from 'lodash/cloneDeep'; diff --git a/packages/webgal/src/Core/gameScripts/setTransform.ts b/packages/webgal/src/Core/gameScripts/setTransform.ts index 961639694..2ce0b2d72 100644 --- a/packages/webgal/src/Core/gameScripts/setTransform.ts +++ b/packages/webgal/src/Core/gameScripts/setTransform.ts @@ -2,13 +2,13 @@ import { ISentence } from '@/Core/controller/scene/sceneInterface'; import { IPerform } from '@/Core/Modules/perform/performInterface'; import { getSentenceArgByKey } from '@/Core/util/getSentenceArg'; import { IAnimationObject } from '@/Core/controller/stage/pixi/PixiController'; -import { logger } from '@/Core/util/etc/logger'; +import { logger } from '@/Core/util/logger'; import { webgalStore } from '@/store/store'; import { generateTimelineObj } from '@/Core/controller/stage/pixi/animations/timeline'; import cloneDeep from 'lodash/cloneDeep'; import { baseTransform, ITransform } from '@/store/stageInterface'; import { IUserAnimation } from '../Modules/animations'; -import { generateTransformAnimationObj } from '@/Core/gameScripts/function/generateTransformAnimationObj'; +import { generateTransformAnimationObj } from '@/Core/controller/stage/pixi/animations/generateTransformAnimationObj'; import { WebGAL } from '@/Core/WebGAL'; /** diff --git a/packages/webgal/src/Core/gameScripts/setVar.ts b/packages/webgal/src/Core/gameScripts/setVar.ts index 19e6ccb0c..22c79946d 100644 --- a/packages/webgal/src/Core/gameScripts/setVar.ts +++ b/packages/webgal/src/Core/gameScripts/setVar.ts @@ -2,7 +2,7 @@ import { ISentence } from '@/Core/controller/scene/sceneInterface'; import { IPerform } from '@/Core/Modules/perform/performInterface'; import { webgalStore } from '@/store/store'; import { setStageVar } from '@/store/stageReducer'; -import { logger } from '@/Core/util/etc/logger'; +import { logger } from '@/Core/util/logger'; import { compile } from 'angular-expressions'; /** diff --git a/packages/webgal/src/Core/gameScripts/showVars.ts b/packages/webgal/src/Core/gameScripts/showVars.ts index 72b5e5ed7..0636976f9 100644 --- a/packages/webgal/src/Core/gameScripts/showVars.ts +++ b/packages/webgal/src/Core/gameScripts/showVars.ts @@ -2,9 +2,9 @@ import { ISentence } from '@/Core/controller/scene/sceneInterface'; import { IPerform } from '@/Core/Modules/perform/performInterface'; import { webgalStore } from '@/store/store'; import { setStage } from '@/store/stageReducer'; -import { logger } from '@/Core/util/etc/logger'; +import { logger } from '@/Core/util/logger'; import { getRandomPerformName } from '@/Core/Modules/perform/performController'; -import { PERFORM_CONFIG } from '@/Core/config/config'; +import { PERFORM_CONFIG } from '@/config'; import { WebGAL } from '@/Core/WebGAL'; /** diff --git a/packages/webgal/src/Core/gameScripts/unlockBgm.ts b/packages/webgal/src/Core/gameScripts/unlockBgm.ts index 65ea2b8d9..8eb1493d2 100644 --- a/packages/webgal/src/Core/gameScripts/unlockBgm.ts +++ b/packages/webgal/src/Core/gameScripts/unlockBgm.ts @@ -3,7 +3,7 @@ import { IPerform } from '@/Core/Modules/perform/performInterface'; import { webgalStore } from '@/store/store'; import { unlockBgmInUserData } from '@/store/userDataReducer'; import localforage from 'localforage'; -import { logger } from '@/Core/util/etc/logger'; +import { logger } from '@/Core/util/logger'; import { WebGAL } from '@/Core/WebGAL'; diff --git a/packages/webgal/src/Core/gameScripts/unlockCg.ts b/packages/webgal/src/Core/gameScripts/unlockCg.ts index 364ef535c..88772eb97 100644 --- a/packages/webgal/src/Core/gameScripts/unlockCg.ts +++ b/packages/webgal/src/Core/gameScripts/unlockCg.ts @@ -2,7 +2,7 @@ import { ISentence } from '@/Core/controller/scene/sceneInterface'; import { IPerform } from '@/Core/Modules/perform/performInterface'; import { webgalStore } from '@/store/store'; import { unlockCgInUserData } from '@/store/userDataReducer'; -import { logger } from '@/Core/util/etc/logger'; +import { logger } from '@/Core/util/logger'; import localforage from 'localforage'; import { WebGAL } from '@/Core/WebGAL'; diff --git a/packages/webgal/src/Core/gameScripts/function/conentsCash.ts b/packages/webgal/src/Core/gameScripts/vocal/conentsCash.ts similarity index 100% rename from packages/webgal/src/Core/gameScripts/function/conentsCash.ts rename to packages/webgal/src/Core/gameScripts/vocal/conentsCash.ts diff --git a/packages/webgal/src/Core/gameScripts/playVocal.ts b/packages/webgal/src/Core/gameScripts/vocal/index.ts similarity index 96% rename from packages/webgal/src/Core/gameScripts/playVocal.ts rename to packages/webgal/src/Core/gameScripts/vocal/index.ts index 4511c5ed0..e1e145628 100644 --- a/packages/webgal/src/Core/gameScripts/playVocal.ts +++ b/packages/webgal/src/Core/gameScripts/vocal/index.ts @@ -1,5 +1,5 @@ import { ISentence } from '@/Core/controller/scene/sceneInterface'; -import { logger } from '@/Core/util/etc/logger'; +import { logger } from '@/Core/util/logger'; import { webgalStore } from '@/store/store'; import { setStage } from '@/store/stageReducer'; import { getSentenceArgByKey } from '@/Core/util/getSentenceArg'; @@ -10,8 +10,8 @@ import { performBlinkAnimation, performMouthAnimation, updateThresholds, -} from '@/Core/gameScripts/function/vocalAnimation'; -import { match } from '../util/match'; +} from '@/Core/gameScripts/vocal/vocalAnimation'; +import { match } from '../../util/match'; import { WebGAL } from '@/Core/WebGAL'; /** @@ -44,13 +44,13 @@ export const playVocal = (sentence: ISentence) => { for (const e of sentence.args) { if (e.value === true) { match(e.key) - ._('left', () => { + .with('left', () => { pos = 'left'; }) - ._('right', () => { + .with('right', () => { pos = 'right'; }) - .__('center', () => { + .endsWith('center', () => { pos = 'center'; }); } diff --git a/packages/webgal/src/Core/gameScripts/function/vocalAnimation.ts b/packages/webgal/src/Core/gameScripts/vocal/vocalAnimation.ts similarity index 100% rename from packages/webgal/src/Core/gameScripts/function/vocalAnimation.ts rename to packages/webgal/src/Core/gameScripts/vocal/vocalAnimation.ts diff --git a/packages/webgal/src/Core/initializeScript.ts b/packages/webgal/src/Core/initializeScript.ts index 9b17b7080..80f648936 100644 --- a/packages/webgal/src/Core/initializeScript.ts +++ b/packages/webgal/src/Core/initializeScript.ts @@ -1,7 +1,7 @@ /** * @file 引擎初始化时会执行的脚本,包括获取游戏信息,初始化运行时变量,初始化用户数据存储 */ -import { logger } from './util/etc/logger'; +import { logger } from './util/logger'; import { infoFetcher } from './util/coreInitialFunction/infoFetcher'; import { assetSetter, fileType } from './util/gameAssetsAccess/assetSetter'; import { sceneFetcher } from './controller/scene/sceneFetcher'; diff --git a/packages/webgal/src/Core/parser/sceneParser.ts b/packages/webgal/src/Core/parser/sceneParser.ts index edd69e6a3..0ca0aa3e0 100644 --- a/packages/webgal/src/Core/parser/sceneParser.ts +++ b/packages/webgal/src/Core/parser/sceneParser.ts @@ -1,5 +1,5 @@ import { IScene } from '../controller/scene/sceneInterface'; -import { logger } from '../util/etc/logger'; +import { logger } from '../util/logger'; import { assetsPrefetcher } from '@/Core/util/prefetcher/assetsPrefetcher'; import { assetSetter } from '@/Core/util/gameAssetsAccess/assetSetter'; import SceneParser from 'webgal-parser'; @@ -16,7 +16,7 @@ import { bgm } from '@/Core/gameScripts/bgm'; import { playVideo } from '@/Core/gameScripts/playVideo'; import { setComplexAnimation } from '@/Core/gameScripts/setComplexAnimation'; import { setFilter } from '@/Core/gameScripts/setFilter'; -import { pixiInit } from '../gameScripts/pixiInit'; +import { pixiInit } from '../gameScripts/pixi/pixiInit'; import { pixi } from '@/Core/gameScripts/pixi'; import { label } from '@/Core/gameScripts/label'; import { jumpLabel } from '../gameScripts/jumpLabel'; diff --git a/packages/webgal/src/Core/util/coreInitialFunction/infoFetcher.ts b/packages/webgal/src/Core/util/coreInitialFunction/infoFetcher.ts index e5bfdb9e0..23c846bb9 100644 --- a/packages/webgal/src/Core/util/coreInitialFunction/infoFetcher.ts +++ b/packages/webgal/src/Core/util/coreInitialFunction/infoFetcher.ts @@ -1,11 +1,10 @@ import axios from 'axios'; -import { logger } from '../etc/logger'; +import { logger } from '../logger'; import { assetSetter, fileType } from '../gameAssetsAccess/assetSetter'; import { getStorage } from '../../controller/storage/storageController'; import { webgalStore } from '@/store/store'; import { setGuiAsset, setLogoImage, setThemeConfigItem } from '@/store/GUIReducer'; -import { setEbg } from '@/Core/util/setEbg'; -import { setLogo } from '@/Core/util/setLogo'; +import { setEbg } from '@/Core/gameScripts/changeBg/setEbg'; import { initKey } from '@/Core/controller/storage/fastSaveLoad'; import { WebgalParser } from '@/Core/parser/sceneParser'; import { WebGAL } from '@/Core/WebGAL'; diff --git a/packages/webgal/src/Core/util/etc/logger.ts b/packages/webgal/src/Core/util/logger.ts similarity index 100% rename from packages/webgal/src/Core/util/etc/logger.ts rename to packages/webgal/src/Core/util/logger.ts diff --git a/packages/webgal/src/Core/util/match.ts b/packages/webgal/src/Core/util/match.ts index b8d61c9f1..3a66b277f 100644 --- a/packages/webgal/src/Core/util/match.ts +++ b/packages/webgal/src/Core/util/match.ts @@ -2,19 +2,19 @@ type Case = [T, () => R]; class Matcher { private cases: Array> = []; - private subject: T; + private readonly subject: T; private defaultCase?: () => R; public constructor(subject: T) { this.subject = subject; } - public _(pattern: T, fn: () => R): this { + public with(pattern: T, fn: () => R): this { this.cases.push([pattern, fn]); return this; } - public __(pattern: T, fn: () => R) { + public endsWith(pattern: T, fn: () => R) { this.cases.push([pattern, fn]); return this.evaluate(); } diff --git a/packages/webgal/src/Core/util/pixiPerformManager/initRegister.ts b/packages/webgal/src/Core/util/pixiPerformManager/initRegister.ts index dbe4d20ba..28c98b9d7 100644 --- a/packages/webgal/src/Core/util/pixiPerformManager/initRegister.ts +++ b/packages/webgal/src/Core/util/pixiPerformManager/initRegister.ts @@ -1,3 +1,3 @@ -import '../../gameScripts/pixiPerformScripts/cherryBlossoms'; -import '../../gameScripts/pixiPerformScripts/rain'; -import '../../gameScripts/pixiPerformScripts/snow'; \ No newline at end of file +import '../../gameScripts/pixi/performs/cherryBlossoms'; +import '../../gameScripts/pixi/performs/rain'; +import '../../gameScripts/pixi/performs/snow'; \ No newline at end of file diff --git a/packages/webgal/src/Core/util/pixiPerformManager/pixiPerformManager.ts b/packages/webgal/src/Core/util/pixiPerformManager/pixiPerformManager.ts index 4f67380c1..23b69a71f 100644 --- a/packages/webgal/src/Core/util/pixiPerformManager/pixiPerformManager.ts +++ b/packages/webgal/src/Core/util/pixiPerformManager/pixiPerformManager.ts @@ -1,5 +1,5 @@ import type { Container } from 'pixi.js'; -import { logger } from '../etc/logger'; +import { logger } from '../logger'; /** * 特效执行返回的结果 diff --git a/packages/webgal/src/Core/util/prefetcher/assetsPrefetcher.ts b/packages/webgal/src/Core/util/prefetcher/assetsPrefetcher.ts index 2afde5318..2847473cd 100644 --- a/packages/webgal/src/Core/util/prefetcher/assetsPrefetcher.ts +++ b/packages/webgal/src/Core/util/prefetcher/assetsPrefetcher.ts @@ -1,5 +1,5 @@ import { IAsset } from '@/Core/controller/scene/sceneInterface'; -import { logger } from '../etc/logger'; +import { logger } from '../logger'; import { WebGAL } from '@/Core/WebGAL'; diff --git a/packages/webgal/src/Core/util/prefetcher/scenePrefetcher.ts b/packages/webgal/src/Core/util/prefetcher/scenePrefetcher.ts index a049ee233..a09822b7d 100644 --- a/packages/webgal/src/Core/util/prefetcher/scenePrefetcher.ts +++ b/packages/webgal/src/Core/util/prefetcher/scenePrefetcher.ts @@ -4,7 +4,7 @@ */ import { sceneFetcher } from '../../controller/scene/sceneFetcher'; import { sceneParser } from '../../parser/sceneParser'; -import { logger } from '@/Core/util/etc/logger'; +import { logger } from '@/Core/util/logger'; import { WebGAL } from '@/Core/WebGAL'; diff --git a/packages/webgal/src/Core/util/setLogo.ts b/packages/webgal/src/Core/util/setLogo.ts deleted file mode 100644 index 86885968c..000000000 --- a/packages/webgal/src/Core/util/setLogo.ts +++ /dev/null @@ -1,6 +0,0 @@ -export function setLogo(logoName: string, url: string) { - const logoImage = document.getElementById('logoImage'); - if (logoImage) { - logoImage.style.backgroundImage = `url("${url}")`; - } -} diff --git a/packages/webgal/src/Core/util/syncWithEditor/syncWithOrigine.ts b/packages/webgal/src/Core/util/syncWithEditor/syncWithOrigine.ts index 6871ebcee..3e3a76192 100644 --- a/packages/webgal/src/Core/util/syncWithEditor/syncWithOrigine.ts +++ b/packages/webgal/src/Core/util/syncWithEditor/syncWithOrigine.ts @@ -2,7 +2,7 @@ import { resetStage } from '@/Core/controller/stage/resetStage'; import { assetSetter, fileType } from '@/Core/util/gameAssetsAccess/assetSetter'; import { sceneFetcher } from '@/Core/controller/scene/sceneFetcher'; import { sceneParser } from '@/Core/parser/sceneParser'; -import { logger } from '../etc/logger'; +import { logger } from '../logger'; import { webgalStore } from '@/store/store'; import { setVisibility } from '@/store/GUIReducer'; import { nextSentence } from '@/Core/controller/gamePlay/nextSentence'; diff --git a/packages/webgal/src/Core/util/syncWithEditor/webSocketFunc.ts b/packages/webgal/src/Core/util/syncWithEditor/webSocketFunc.ts index 0539d52a3..c9c7a5901 100644 --- a/packages/webgal/src/Core/util/syncWithEditor/webSocketFunc.ts +++ b/packages/webgal/src/Core/util/syncWithEditor/webSocketFunc.ts @@ -1,4 +1,4 @@ -import { logger } from '../etc/logger'; +import { logger } from '../logger'; import { syncWithOrigine } from '@/Core/util/syncWithEditor/syncWithOrigine'; import { DebugCommand, IDebugMessage } from '@/types/debugProtocol'; import { WebGAL } from '@/Core/WebGAL'; diff --git a/packages/webgal/src/Components/Stage/AudioContainer/AudioContainer.tsx b/packages/webgal/src/Stage/AudioContainer/AudioContainer.tsx similarity index 98% rename from packages/webgal/src/Components/Stage/AudioContainer/AudioContainer.tsx rename to packages/webgal/src/Stage/AudioContainer/AudioContainer.tsx index 2c5b54318..fc187d697 100644 --- a/packages/webgal/src/Components/Stage/AudioContainer/AudioContainer.tsx +++ b/packages/webgal/src/Stage/AudioContainer/AudioContainer.tsx @@ -2,7 +2,7 @@ import { useSelector } from 'react-redux'; import { RootState, webgalStore } from '@/store/store'; import { setStage } from '@/store/stageReducer'; import { useEffect, useState } from 'react'; -import { logger } from '@/Core/util/etc/logger'; +import { logger } from '@/Core/util/logger'; export const AudioContainer = () => { const stageStore = useSelector((webgalStore: RootState) => webgalStore.stage); diff --git a/packages/webgal/src/Components/Stage/FigureContainer/FigureContainer.tsx b/packages/webgal/src/Stage/FigureContainer/FigureContainer.tsx similarity index 100% rename from packages/webgal/src/Components/Stage/FigureContainer/FigureContainer.tsx rename to packages/webgal/src/Stage/FigureContainer/FigureContainer.tsx diff --git a/packages/webgal/src/Components/Stage/FigureContainer/figureContainer.module.scss b/packages/webgal/src/Stage/FigureContainer/figureContainer.module.scss similarity index 100% rename from packages/webgal/src/Components/Stage/FigureContainer/figureContainer.module.scss rename to packages/webgal/src/Stage/FigureContainer/figureContainer.module.scss diff --git a/packages/webgal/src/Components/Stage/FullScreenPerform/FullScreenPerform.tsx b/packages/webgal/src/Stage/FullScreenPerform/FullScreenPerform.tsx similarity index 100% rename from packages/webgal/src/Components/Stage/FullScreenPerform/FullScreenPerform.tsx rename to packages/webgal/src/Stage/FullScreenPerform/FullScreenPerform.tsx diff --git a/packages/webgal/src/Components/Stage/FullScreenPerform/fullScreenPerform.module.scss b/packages/webgal/src/Stage/FullScreenPerform/fullScreenPerform.module.scss similarity index 100% rename from packages/webgal/src/Components/Stage/FullScreenPerform/fullScreenPerform.module.scss rename to packages/webgal/src/Stage/FullScreenPerform/fullScreenPerform.module.scss diff --git a/packages/webgal/src/Components/Stage/MainStage/MainStage.tsx b/packages/webgal/src/Stage/MainStage/MainStage.tsx similarity index 59% rename from packages/webgal/src/Components/Stage/MainStage/MainStage.tsx rename to packages/webgal/src/Stage/MainStage/MainStage.tsx index 164317267..ac2c6eb0f 100644 --- a/packages/webgal/src/Components/Stage/MainStage/MainStage.tsx +++ b/packages/webgal/src/Stage/MainStage/MainStage.tsx @@ -1,8 +1,8 @@ import { useSelector } from 'react-redux'; import { RootState } from '@/store/store'; -import { useSetBg } from '@/Components/Stage/MainStage/useSetBg'; -import { useSetFigure } from '@/Components/Stage/MainStage/useSetFigure'; -import { setStageObjectEffects } from '@/Components/Stage/MainStage/useSetEffects'; +import { useSetBg } from '@/Stage/MainStage/useSetBg'; +import { useSetFigure } from '@/Stage/MainStage/useSetFigure'; +import { setStageObjectEffects } from '@/Stage/MainStage/useSetEffects'; export function MainStage() { const stageState = useSelector((state: RootState) => state.stage); diff --git a/packages/webgal/src/Components/Stage/MainStage/useSetBg.ts b/packages/webgal/src/Stage/MainStage/useSetBg.ts similarity index 94% rename from packages/webgal/src/Components/Stage/MainStage/useSetBg.ts rename to packages/webgal/src/Stage/MainStage/useSetBg.ts index 3d6c4a742..36e4511df 100644 --- a/packages/webgal/src/Components/Stage/MainStage/useSetBg.ts +++ b/packages/webgal/src/Stage/MainStage/useSetBg.ts @@ -1,8 +1,8 @@ import { IStageState } from '@/store/stageInterface'; import { useEffect } from 'react'; -import { logger } from '@/Core/util/etc/logger'; +import { logger } from '@/Core/util/logger'; import { IStageObject } from '@/Core/controller/stage/pixi/PixiController'; -import { setEbg } from '@/Core/util/setEbg'; +import { setEbg } from '@/Core/gameScripts/changeBg/setEbg'; import { getEnterExitAnimation } from '@/Core/Modules/animationFunctions'; import { WebGAL } from '@/Core/WebGAL'; diff --git a/packages/webgal/src/Components/Stage/MainStage/useSetEffects.ts b/packages/webgal/src/Stage/MainStage/useSetEffects.ts similarity index 100% rename from packages/webgal/src/Components/Stage/MainStage/useSetEffects.ts rename to packages/webgal/src/Stage/MainStage/useSetEffects.ts diff --git a/packages/webgal/src/Components/Stage/MainStage/useSetFigure.ts b/packages/webgal/src/Stage/MainStage/useSetFigure.ts similarity index 99% rename from packages/webgal/src/Components/Stage/MainStage/useSetFigure.ts rename to packages/webgal/src/Stage/MainStage/useSetFigure.ts index 7d5dcc6ba..30b9904a9 100644 --- a/packages/webgal/src/Components/Stage/MainStage/useSetFigure.ts +++ b/packages/webgal/src/Stage/MainStage/useSetFigure.ts @@ -1,6 +1,6 @@ import { IEffect, IStageState } from '@/store/stageInterface'; import { useEffect } from 'react'; -import { logger } from '@/Core/util/etc/logger'; +import { logger } from '@/Core/util/logger'; import { generateUniversalSoftInAnimationObj } from '@/Core/controller/stage/pixi/animations/universalSoftIn'; import { IStageObject } from '@/Core/controller/stage/pixi/PixiController'; import { generateUniversalSoftOffAnimationObj } from '@/Core/controller/stage/pixi/animations/universalSoftOff'; diff --git a/packages/webgal/src/Components/Stage/OldStage/OldStage.tsx b/packages/webgal/src/Stage/OldStage/OldStage.tsx similarity index 100% rename from packages/webgal/src/Components/Stage/OldStage/OldStage.tsx rename to packages/webgal/src/Stage/OldStage/OldStage.tsx diff --git a/packages/webgal/src/Components/Stage/Stage.tsx b/packages/webgal/src/Stage/Stage.tsx similarity index 90% rename from packages/webgal/src/Components/Stage/Stage.tsx rename to packages/webgal/src/Stage/Stage.tsx index 8af439617..a542a3e3c 100644 --- a/packages/webgal/src/Components/Stage/Stage.tsx +++ b/packages/webgal/src/Stage/Stage.tsx @@ -8,10 +8,10 @@ import { stopAll } from '@/Core/controller/gamePlay/fastSkip'; import { useDispatch, useSelector } from 'react-redux'; import { RootState } from '@/store/store'; import { setVisibility } from '@/store/GUIReducer'; -import { TextBoxFilm } from '@/Components/Stage/TextBox/TextBoxFilm'; +import { TextBoxFilm } from '@/Stage/TextBox/TextBoxFilm'; import { useHotkey } from '@/hooks/useHotkey'; -import { MainStage } from '@/Components/Stage/MainStage/MainStage'; -import IntroContainer from '@/Components/Stage/introContainer/IntroContainer'; +import { MainStage } from '@/Stage/MainStage/MainStage'; +import IntroContainer from '@/Stage/introContainer/IntroContainer'; import { isIOS } from '@/Core/initializeScript'; import { WebGAL } from '@/Core/WebGAL'; // import OldStage from '@/Components/Stage/OldStage/OldStage'; diff --git a/packages/webgal/src/Components/Stage/TextBox/TextBox.tsx b/packages/webgal/src/Stage/TextBox/TextBox.tsx similarity index 93% rename from packages/webgal/src/Components/Stage/TextBox/TextBox.tsx rename to packages/webgal/src/Stage/TextBox/TextBox.tsx index ff20c7648..4a9af5d2e 100644 --- a/packages/webgal/src/Components/Stage/TextBox/TextBox.tsx +++ b/packages/webgal/src/Stage/TextBox/TextBox.tsx @@ -3,10 +3,10 @@ import { useSelector } from 'react-redux'; import { RootState } from '@/store/store'; import { useFontFamily } from '@/hooks/useFontFamily'; import { useTextAnimationDuration, useTextDelay } from '@/hooks/useTextOptions'; -import { getTextSize } from '@/Components/UI/getTextSize'; -import StandardTextbox, { ITextboxProps } from '@/Components/Stage/TextBox/themes/standard/StandardTextbox'; -import IMSSTextbox from '@/Components/Stage/TextBox/themes/imss/IMSSTextbox'; -import { IWebGalTextBoxTheme } from '@/Components/themeInterface'; +import { getTextSize } from '@/UI/getTextSize'; +import StandardTextbox, { ITextboxProps } from '@/Stage/TextBox/themes/standard/StandardTextbox'; +import IMSSTextbox from '@/Stage/TextBox/themes/imss/IMSSTextbox'; +import { IWebGalTextBoxTheme } from '@/Stage/themeInterface'; import { textSize } from '@/store/userDataInterface'; const isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent); diff --git a/packages/webgal/src/Components/Stage/TextBox/TextBoxFilm.tsx b/packages/webgal/src/Stage/TextBox/TextBoxFilm.tsx similarity index 97% rename from packages/webgal/src/Components/Stage/TextBox/TextBoxFilm.tsx rename to packages/webgal/src/Stage/TextBox/TextBoxFilm.tsx index c57cf3b1c..6d14d9921 100644 --- a/packages/webgal/src/Components/Stage/TextBox/TextBoxFilm.tsx +++ b/packages/webgal/src/Stage/TextBox/TextBoxFilm.tsx @@ -3,7 +3,7 @@ import { useEffect } from 'react'; import { useSelector } from 'react-redux'; import { RootState } from '@/store/store'; -import { PERFORM_CONFIG } from '@/Core/config/config'; +import { PERFORM_CONFIG } from '@/config'; export const TextBoxFilm = () => { const stageState = useSelector((state: RootState) => state.stage); diff --git a/packages/webgal/src/Components/Stage/TextBox/textbox.module.scss b/packages/webgal/src/Stage/TextBox/textbox.module.scss similarity index 100% rename from packages/webgal/src/Components/Stage/TextBox/textbox.module.scss rename to packages/webgal/src/Stage/TextBox/textbox.module.scss diff --git a/packages/webgal/src/Components/Stage/TextBox/textboxFilm.module.scss b/packages/webgal/src/Stage/TextBox/textboxFilm.module.scss similarity index 100% rename from packages/webgal/src/Components/Stage/TextBox/textboxFilm.module.scss rename to packages/webgal/src/Stage/TextBox/textboxFilm.module.scss diff --git a/packages/webgal/src/Components/Stage/TextBox/themes/imss/IMSSTextbox.tsx b/packages/webgal/src/Stage/TextBox/themes/imss/IMSSTextbox.tsx similarity index 100% rename from packages/webgal/src/Components/Stage/TextBox/themes/imss/IMSSTextbox.tsx rename to packages/webgal/src/Stage/TextBox/themes/imss/IMSSTextbox.tsx diff --git a/packages/webgal/src/Components/Stage/TextBox/themes/imss/imss.module.scss b/packages/webgal/src/Stage/TextBox/themes/imss/imss.module.scss similarity index 100% rename from packages/webgal/src/Components/Stage/TextBox/themes/imss/imss.module.scss rename to packages/webgal/src/Stage/TextBox/themes/imss/imss.module.scss diff --git a/packages/webgal/src/Components/Stage/TextBox/themes/standard/StandardTextbox.tsx b/packages/webgal/src/Stage/TextBox/themes/standard/StandardTextbox.tsx similarity index 100% rename from packages/webgal/src/Components/Stage/TextBox/themes/standard/StandardTextbox.tsx rename to packages/webgal/src/Stage/TextBox/themes/standard/StandardTextbox.tsx diff --git a/packages/webgal/src/Components/Stage/TextBox/themes/standard/standard.module.scss b/packages/webgal/src/Stage/TextBox/themes/standard/standard.module.scss similarity index 100% rename from packages/webgal/src/Components/Stage/TextBox/themes/standard/standard.module.scss rename to packages/webgal/src/Stage/TextBox/themes/standard/standard.module.scss diff --git a/packages/webgal/src/Components/Stage/introContainer/IntroContainer.tsx b/packages/webgal/src/Stage/introContainer/IntroContainer.tsx similarity index 100% rename from packages/webgal/src/Components/Stage/introContainer/IntroContainer.tsx rename to packages/webgal/src/Stage/introContainer/IntroContainer.tsx diff --git a/packages/webgal/src/Components/Stage/introContainer/introContainer.module.scss b/packages/webgal/src/Stage/introContainer/introContainer.module.scss similarity index 100% rename from packages/webgal/src/Components/Stage/introContainer/introContainer.module.scss rename to packages/webgal/src/Stage/introContainer/introContainer.module.scss diff --git a/packages/webgal/src/Components/Stage/stage.module.scss b/packages/webgal/src/Stage/stage.module.scss similarity index 100% rename from packages/webgal/src/Components/Stage/stage.module.scss rename to packages/webgal/src/Stage/stage.module.scss diff --git a/packages/webgal/src/Components/themeInterface.ts b/packages/webgal/src/Stage/themeInterface.ts similarity index 100% rename from packages/webgal/src/Components/themeInterface.ts rename to packages/webgal/src/Stage/themeInterface.ts diff --git a/packages/webgal/src/Components/UI/Backlog/Backlog.tsx b/packages/webgal/src/UI/Backlog/Backlog.tsx similarity index 98% rename from packages/webgal/src/Components/UI/Backlog/Backlog.tsx rename to packages/webgal/src/UI/Backlog/Backlog.tsx index f1032fca3..bb69c79c2 100644 --- a/packages/webgal/src/Components/UI/Backlog/Backlog.tsx +++ b/packages/webgal/src/UI/Backlog/Backlog.tsx @@ -4,10 +4,10 @@ import { jumpFromBacklog } from '@/Core/controller/storage/jumpFromBacklog'; import { useDispatch, useSelector } from 'react-redux'; import { RootState, webgalStore } from '@/store/store'; import { setVisibility } from '@/store/GUIReducer'; -import { logger } from '@/Core/util/etc/logger'; +import { logger } from '@/Core/util/logger'; import { useEffect, useMemo, useRef, useState } from 'react'; import useTrans from '@/hooks/useTrans'; -import { splitChars } from '@/Components/Stage/TextBox/TextBox'; +import { splitChars } from '@/Stage/TextBox/TextBox'; import useSoundEffect from '@/hooks/useSoundEffect'; import { WebGAL } from '@/Core/WebGAL'; diff --git a/packages/webgal/src/Components/UI/Backlog/backlog.module.scss b/packages/webgal/src/UI/Backlog/backlog.module.scss similarity index 100% rename from packages/webgal/src/Components/UI/Backlog/backlog.module.scss rename to packages/webgal/src/UI/Backlog/backlog.module.scss diff --git a/packages/webgal/src/Components/UI/BottomControlPanel/BottomControlPanel.tsx b/packages/webgal/src/UI/BottomControlPanel/BottomControlPanel.tsx similarity index 100% rename from packages/webgal/src/Components/UI/BottomControlPanel/BottomControlPanel.tsx rename to packages/webgal/src/UI/BottomControlPanel/BottomControlPanel.tsx diff --git a/packages/webgal/src/Components/UI/BottomControlPanel/BottomControlPanelFilm.tsx b/packages/webgal/src/UI/BottomControlPanel/BottomControlPanelFilm.tsx similarity index 100% rename from packages/webgal/src/Components/UI/BottomControlPanel/BottomControlPanelFilm.tsx rename to packages/webgal/src/UI/BottomControlPanel/BottomControlPanelFilm.tsx diff --git a/packages/webgal/src/Components/UI/BottomControlPanel/bottomControlPanel.module.scss b/packages/webgal/src/UI/BottomControlPanel/bottomControlPanel.module.scss similarity index 100% rename from packages/webgal/src/Components/UI/BottomControlPanel/bottomControlPanel.module.scss rename to packages/webgal/src/UI/BottomControlPanel/bottomControlPanel.module.scss diff --git a/packages/webgal/src/Components/UI/BottomControlPanel/bottomControlPanelFilm.module.scss b/packages/webgal/src/UI/BottomControlPanel/bottomControlPanelFilm.module.scss similarity index 100% rename from packages/webgal/src/Components/UI/BottomControlPanel/bottomControlPanelFilm.module.scss rename to packages/webgal/src/UI/BottomControlPanel/bottomControlPanelFilm.module.scss diff --git a/packages/webgal/src/Components/UI/DevPanel/DevPanel.tsx b/packages/webgal/src/UI/DevPanel/DevPanel.tsx similarity index 95% rename from packages/webgal/src/Components/UI/DevPanel/DevPanel.tsx rename to packages/webgal/src/UI/DevPanel/DevPanel.tsx index 9c7495bc6..9a88c3745 100644 --- a/packages/webgal/src/Components/UI/DevPanel/DevPanel.tsx +++ b/packages/webgal/src/UI/DevPanel/DevPanel.tsx @@ -1,6 +1,6 @@ import styles from './devPanel.module.scss'; import { useValue } from '@/hooks/useValue'; -import { getPixiSscreenshot } from '@/Components/UI/DevPanel/devFunctions/getPixiSscreenshot'; +import { getPixiSscreenshot } from '@/UI/DevPanel/devFunctions/getPixiSscreenshot'; import { useEffect } from 'react'; import { useSelector } from 'react-redux'; import { RootState } from '@/store/store'; diff --git a/packages/webgal/src/Components/UI/DevPanel/devFunctions/getPixiSscreenshot.ts b/packages/webgal/src/UI/DevPanel/devFunctions/getPixiSscreenshot.ts similarity index 100% rename from packages/webgal/src/Components/UI/DevPanel/devFunctions/getPixiSscreenshot.ts rename to packages/webgal/src/UI/DevPanel/devFunctions/getPixiSscreenshot.ts diff --git a/packages/webgal/src/Components/UI/DevPanel/devPanel.module.scss b/packages/webgal/src/UI/DevPanel/devPanel.module.scss similarity index 100% rename from packages/webgal/src/Components/UI/DevPanel/devPanel.module.scss rename to packages/webgal/src/UI/DevPanel/devPanel.module.scss diff --git a/packages/webgal/src/Components/UI/Extra/Extra.tsx b/packages/webgal/src/UI/Extra/Extra.tsx similarity index 95% rename from packages/webgal/src/Components/UI/Extra/Extra.tsx rename to packages/webgal/src/UI/Extra/Extra.tsx index f6dadda6f..fde50446b 100644 --- a/packages/webgal/src/Components/UI/Extra/Extra.tsx +++ b/packages/webgal/src/UI/Extra/Extra.tsx @@ -3,7 +3,7 @@ import { useDispatch, useSelector } from 'react-redux'; import { RootState } from '@/store/store'; import { setVisibility } from '@/store/GUIReducer'; import { CloseSmall } from '@icon-park/react'; -import { ExtraBgm } from '@/Components/UI/Extra/ExtraBgm'; +import { ExtraBgm } from '@/UI/Extra/ExtraBgm'; import { ExtraCg } from './ExtraCg'; import useTrans from '@/hooks/useTrans'; import useSoundEffect from '@/hooks/useSoundEffect'; diff --git a/packages/webgal/src/Components/UI/Extra/ExtraBgm.tsx b/packages/webgal/src/UI/Extra/ExtraBgm.tsx similarity index 98% rename from packages/webgal/src/Components/UI/Extra/ExtraBgm.tsx rename to packages/webgal/src/UI/Extra/ExtraBgm.tsx index 9506974d4..09bd26900 100644 --- a/packages/webgal/src/Components/UI/Extra/ExtraBgm.tsx +++ b/packages/webgal/src/UI/Extra/ExtraBgm.tsx @@ -1,7 +1,7 @@ import { useDispatch, useSelector } from 'react-redux'; import { RootState } from '@/store/store'; import React from 'react'; -import styles from '@/Components/UI/Extra/extra.module.scss'; +import styles from '@/UI/Extra/extra.module.scss'; import { useValue } from '@/hooks/useValue'; import { setStage } from '@/store/stageReducer'; import { GoEnd, GoStart, MusicList, PlayOne, SquareSmall } from '@icon-park/react'; diff --git a/packages/webgal/src/Components/UI/Extra/ExtraCg.tsx b/packages/webgal/src/UI/Extra/ExtraCg.tsx similarity index 93% rename from packages/webgal/src/Components/UI/Extra/ExtraCg.tsx rename to packages/webgal/src/UI/Extra/ExtraCg.tsx index bac7ebb01..693e7f291 100644 --- a/packages/webgal/src/Components/UI/Extra/ExtraCg.tsx +++ b/packages/webgal/src/UI/Extra/ExtraCg.tsx @@ -1,10 +1,10 @@ -import styles from '@/Components/UI/Extra/extra.module.scss'; +import styles from '@/UI/Extra/extra.module.scss'; import React from 'react'; import { useSelector } from 'react-redux'; import { RootState } from '@/store/store'; import { useValue } from '@/hooks/useValue'; import './extraCG_animation_List.scss'; -import { ExtraCgElement } from '@/Components/UI/Extra/ExtraCgElement'; +import { ExtraCgElement } from '@/UI/Extra/ExtraCgElement'; import useSoundEffect from '@/hooks/useSoundEffect'; export function ExtraCg() { diff --git a/packages/webgal/src/Components/UI/Extra/ExtraCgElement.tsx b/packages/webgal/src/UI/Extra/ExtraCgElement.tsx similarity index 96% rename from packages/webgal/src/Components/UI/Extra/ExtraCgElement.tsx rename to packages/webgal/src/UI/Extra/ExtraCgElement.tsx index 25aa32251..ff956c0e3 100644 --- a/packages/webgal/src/Components/UI/Extra/ExtraCgElement.tsx +++ b/packages/webgal/src/UI/Extra/ExtraCgElement.tsx @@ -1,5 +1,5 @@ import { useValue } from '@/hooks/useValue'; -import styles from '@/Components/UI/Extra/extra.module.scss'; +import styles from '@/UI/Extra/extra.module.scss'; import React from 'react'; import useSoundEffect from '@/hooks/useSoundEffect'; diff --git a/packages/webgal/src/Components/UI/Extra/extra.module.scss b/packages/webgal/src/UI/Extra/extra.module.scss similarity index 100% rename from packages/webgal/src/Components/UI/Extra/extra.module.scss rename to packages/webgal/src/UI/Extra/extra.module.scss diff --git a/packages/webgal/src/Components/UI/Extra/extraCG_animation_List.scss b/packages/webgal/src/UI/Extra/extraCG_animation_List.scss similarity index 100% rename from packages/webgal/src/Components/UI/Extra/extraCG_animation_List.scss rename to packages/webgal/src/UI/Extra/extraCG_animation_List.scss diff --git a/packages/webgal/src/Components/UI/GlobalDialog/GlobalDialog.tsx b/packages/webgal/src/UI/GlobalDialog/GlobalDialog.tsx similarity index 100% rename from packages/webgal/src/Components/UI/GlobalDialog/GlobalDialog.tsx rename to packages/webgal/src/UI/GlobalDialog/GlobalDialog.tsx diff --git a/packages/webgal/src/Components/UI/GlobalDialog/globalDialog.module.scss b/packages/webgal/src/UI/GlobalDialog/globalDialog.module.scss similarity index 100% rename from packages/webgal/src/Components/UI/GlobalDialog/globalDialog.module.scss rename to packages/webgal/src/UI/GlobalDialog/globalDialog.module.scss diff --git a/packages/webgal/src/Components/UI/Logo/Logo.tsx b/packages/webgal/src/UI/Logo/Logo.tsx similarity index 100% rename from packages/webgal/src/Components/UI/Logo/Logo.tsx rename to packages/webgal/src/UI/Logo/Logo.tsx diff --git a/packages/webgal/src/Components/UI/Logo/logo.module.scss b/packages/webgal/src/UI/Logo/logo.module.scss similarity index 100% rename from packages/webgal/src/Components/UI/Logo/logo.module.scss rename to packages/webgal/src/UI/Logo/logo.module.scss diff --git a/packages/webgal/src/Components/UI/Menu/Menu.tsx b/packages/webgal/src/UI/Menu/Menu.tsx similarity index 100% rename from packages/webgal/src/Components/UI/Menu/Menu.tsx rename to packages/webgal/src/UI/Menu/Menu.tsx diff --git a/packages/webgal/src/Components/UI/Menu/MenuPanel/MenuIconMap.tsx b/packages/webgal/src/UI/Menu/MenuPanel/MenuIconMap.tsx similarity index 92% rename from packages/webgal/src/Components/UI/Menu/MenuPanel/MenuIconMap.tsx rename to packages/webgal/src/UI/Menu/MenuPanel/MenuIconMap.tsx index d5a8b5e2f..4287563bb 100644 --- a/packages/webgal/src/Components/UI/Menu/MenuPanel/MenuIconMap.tsx +++ b/packages/webgal/src/UI/Menu/MenuPanel/MenuIconMap.tsx @@ -1,4 +1,4 @@ -import { IMenuPanel } from '@/Components/UI/Menu/MenuPanel/menuPanelInterface'; +import { IMenuPanel } from '@/UI/Menu/MenuPanel/menuPanelInterface'; import { FolderOpen, Home, Logout, Save, SettingTwo } from '@icon-park/react'; /** diff --git a/packages/webgal/src/Components/UI/Menu/MenuPanel/MenuPanel.tsx b/packages/webgal/src/UI/Menu/MenuPanel/MenuPanel.tsx similarity index 100% rename from packages/webgal/src/Components/UI/Menu/MenuPanel/MenuPanel.tsx rename to packages/webgal/src/UI/Menu/MenuPanel/MenuPanel.tsx diff --git a/packages/webgal/src/Components/UI/Menu/MenuPanel/MenuPanelButton.tsx b/packages/webgal/src/UI/Menu/MenuPanel/MenuPanelButton.tsx similarity index 91% rename from packages/webgal/src/Components/UI/Menu/MenuPanel/MenuPanelButton.tsx rename to packages/webgal/src/UI/Menu/MenuPanel/MenuPanelButton.tsx index b93add51a..51300c354 100644 --- a/packages/webgal/src/Components/UI/Menu/MenuPanel/MenuPanelButton.tsx +++ b/packages/webgal/src/UI/Menu/MenuPanel/MenuPanelButton.tsx @@ -1,6 +1,6 @@ import styles from './menuPanel.module.scss'; import { MenuIconMap } from './MenuIconMap'; -import { IMenuPanel } from '@/Components/UI/Menu/MenuPanel/menuPanelInterface'; +import { IMenuPanel } from '@/UI/Menu/MenuPanel/menuPanelInterface'; import useSoundEffect from '@/hooks/useSoundEffect'; /** diff --git a/packages/webgal/src/Components/UI/Menu/MenuPanel/menuPanel.module.scss b/packages/webgal/src/UI/Menu/MenuPanel/menuPanel.module.scss similarity index 100% rename from packages/webgal/src/Components/UI/Menu/MenuPanel/menuPanel.module.scss rename to packages/webgal/src/UI/Menu/MenuPanel/menuPanel.module.scss diff --git a/packages/webgal/src/Components/UI/Menu/MenuPanel/menuPanelInterface.ts b/packages/webgal/src/UI/Menu/MenuPanel/menuPanelInterface.ts similarity index 100% rename from packages/webgal/src/Components/UI/Menu/MenuPanel/menuPanelInterface.ts rename to packages/webgal/src/UI/Menu/MenuPanel/menuPanelInterface.ts diff --git a/packages/webgal/src/Components/UI/Menu/Options/Display/Display.tsx b/packages/webgal/src/UI/Menu/Options/Display/Display.tsx similarity index 91% rename from packages/webgal/src/Components/UI/Menu/Options/Display/Display.tsx rename to packages/webgal/src/UI/Menu/Options/Display/Display.tsx index bef041f67..ed0ecf5a7 100644 --- a/packages/webgal/src/Components/UI/Menu/Options/Display/Display.tsx +++ b/packages/webgal/src/UI/Menu/Options/Display/Display.tsx @@ -1,12 +1,12 @@ -import styles from '@/Components/UI/Menu/Options/options.module.scss'; +import styles from '@/UI/Menu/Options/options.module.scss'; import { useDispatch, useSelector } from 'react-redux'; import { RootState } from '@/store/store'; -import { NormalOption } from '@/Components/UI/Menu/Options/NormalOption'; -import { NormalButton } from '@/Components/UI/Menu/Options/NormalButton'; +import { NormalOption } from '@/UI/Menu/Options/NormalOption'; +import { NormalButton } from '@/UI/Menu/Options/NormalButton'; import { setOptionData } from '@/store/userDataReducer'; import { playSpeed, textFont, textSize } from '@/store/userDataInterface'; import { setStorage } from '@/Core/controller/storage/storageController'; -import { TextPreview } from '@/Components/UI/Menu/Options/TextPreview/TextPreview'; +import { TextPreview } from '@/UI/Menu/Options/TextPreview/TextPreview'; import useTrans from '@/hooks/useTrans'; export function Display() { diff --git a/packages/webgal/src/Components/UI/Menu/Options/NormalButton.tsx b/packages/webgal/src/UI/Menu/Options/NormalButton.tsx similarity index 94% rename from packages/webgal/src/Components/UI/Menu/Options/NormalButton.tsx rename to packages/webgal/src/UI/Menu/Options/NormalButton.tsx index aebb3e7ad..a4af61231 100644 --- a/packages/webgal/src/Components/UI/Menu/Options/NormalButton.tsx +++ b/packages/webgal/src/UI/Menu/Options/NormalButton.tsx @@ -1,5 +1,5 @@ import { ReactElement } from 'react'; -import { INormalButton } from '@/Components/UI/Menu/Options/OptionInterface'; +import { INormalButton } from '@/UI/Menu/Options/OptionInterface'; import styles from './normalButton.module.scss'; import useSoundEffect from '@/hooks/useSoundEffect'; diff --git a/packages/webgal/src/Components/UI/Menu/Options/NormalOption.tsx b/packages/webgal/src/UI/Menu/Options/NormalOption.tsx similarity index 100% rename from packages/webgal/src/Components/UI/Menu/Options/NormalOption.tsx rename to packages/webgal/src/UI/Menu/Options/NormalOption.tsx diff --git a/packages/webgal/src/Components/UI/Menu/Options/OptionInterface.ts b/packages/webgal/src/UI/Menu/Options/OptionInterface.ts similarity index 100% rename from packages/webgal/src/Components/UI/Menu/Options/OptionInterface.ts rename to packages/webgal/src/UI/Menu/Options/OptionInterface.ts diff --git a/packages/webgal/src/Components/UI/Menu/Options/OptionSlider.tsx b/packages/webgal/src/UI/Menu/Options/OptionSlider.tsx similarity index 90% rename from packages/webgal/src/Components/UI/Menu/Options/OptionSlider.tsx rename to packages/webgal/src/UI/Menu/Options/OptionSlider.tsx index 40ec033b8..02fa8203b 100644 --- a/packages/webgal/src/Components/UI/Menu/Options/OptionSlider.tsx +++ b/packages/webgal/src/UI/Menu/Options/OptionSlider.tsx @@ -1,5 +1,5 @@ import './slider.css'; -import { ISlider } from '@/Components/UI/Menu/Options/OptionInterface'; +import { ISlider } from '@/UI/Menu/Options/OptionInterface'; import { useEffect } from 'react'; import useSoundEffect from '@/hooks/useSoundEffect'; diff --git a/packages/webgal/src/Components/UI/Menu/Options/Options.tsx b/packages/webgal/src/UI/Menu/Options/Options.tsx similarity index 92% rename from packages/webgal/src/Components/UI/Menu/Options/Options.tsx rename to packages/webgal/src/UI/Menu/Options/Options.tsx index 6c56f7e73..7bdde67f7 100644 --- a/packages/webgal/src/Components/UI/Menu/Options/Options.tsx +++ b/packages/webgal/src/UI/Menu/Options/Options.tsx @@ -2,9 +2,9 @@ import { FC, useEffect } from 'react'; import styles from './options.module.scss'; import { getStorage } from '@/Core/controller/storage/storageController'; import { useValue } from '@/hooks/useValue'; -import { System } from '@/Components/UI/Menu/Options/System/System'; -import { Display } from '@/Components/UI/Menu/Options/Display/Display'; -import { Sound } from '@/Components/UI/Menu/Options/Sound/Sound'; +import { System } from '@/UI/Menu/Options/System/System'; +import { Display } from '@/UI/Menu/Options/Display/Display'; +import { Sound } from '@/UI/Menu/Options/Sound/Sound'; import useTrans from '@/hooks/useTrans'; import useSoundEffect from '@/hooks/useSoundEffect'; diff --git a/packages/webgal/src/Components/UI/Menu/Options/Sound/Sound.tsx b/packages/webgal/src/UI/Menu/Options/Sound/Sound.tsx similarity index 92% rename from packages/webgal/src/Components/UI/Menu/Options/Sound/Sound.tsx rename to packages/webgal/src/UI/Menu/Options/Sound/Sound.tsx index 6823010e6..b7ea07f62 100644 --- a/packages/webgal/src/Components/UI/Menu/Options/Sound/Sound.tsx +++ b/packages/webgal/src/UI/Menu/Options/Sound/Sound.tsx @@ -1,6 +1,6 @@ -import styles from '@/Components/UI/Menu/Options/options.module.scss'; -import { NormalOption } from '@/Components/UI/Menu/Options/NormalOption'; -import { OptionSlider } from '@/Components/UI/Menu/Options/OptionSlider'; +import styles from '@/UI/Menu/Options/options.module.scss'; +import { NormalOption } from '@/UI/Menu/Options/NormalOption'; +import { OptionSlider } from '@/UI/Menu/Options/OptionSlider'; import { setOptionData } from '@/store/userDataReducer'; import { setStorage } from '@/Core/controller/storage/storageController'; import { useDispatch, useSelector } from 'react-redux'; diff --git a/packages/webgal/src/Components/UI/Menu/Options/System/About.tsx b/packages/webgal/src/UI/Menu/Options/System/About.tsx similarity index 100% rename from packages/webgal/src/Components/UI/Menu/Options/System/About.tsx rename to packages/webgal/src/UI/Menu/Options/System/About.tsx diff --git a/packages/webgal/src/Components/UI/Menu/Options/System/System.tsx b/packages/webgal/src/UI/Menu/Options/System/System.tsx similarity index 93% rename from packages/webgal/src/Components/UI/Menu/Options/System/System.tsx rename to packages/webgal/src/UI/Menu/Options/System/System.tsx index f1819a047..276f77f16 100644 --- a/packages/webgal/src/Components/UI/Menu/Options/System/System.tsx +++ b/packages/webgal/src/UI/Menu/Options/System/System.tsx @@ -1,19 +1,19 @@ -import styles from '@/Components/UI/Menu/Options/options.module.scss'; -import { NormalOption } from '@/Components/UI/Menu/Options/NormalOption'; -import { NormalButton } from '@/Components/UI/Menu/Options/NormalButton'; +import styles from '@/UI/Menu/Options/options.module.scss'; +import { NormalOption } from '@/UI/Menu/Options/NormalOption'; +import { NormalButton } from '@/UI/Menu/Options/NormalButton'; import { resetAllData, resetOptionSet, resetSaveData, setOptionData } from '@/store/userDataReducer'; import { playSpeed } from '@/store/userDataInterface'; import { getStorage, setStorage, syncStorageFast } from '@/Core/controller/storage/storageController'; import { useDispatch, useSelector } from 'react-redux'; import { RootState } from '@/store/store'; -import { showGlogalDialog } from '@/Components/UI/GlobalDialog/GlobalDialog'; +import { showGlogalDialog } from '@/UI/GlobalDialog/GlobalDialog'; import localforage from 'localforage'; -import { logger } from '@/Core/util/etc/logger'; +import { logger } from '@/Core/util/logger'; import useTrans from '@/hooks/useTrans'; import useLanguage from '@/hooks/useLanguage'; import languages, { language } from '@/config/language'; import { useState } from 'react'; -import About from '@/Components/UI/Menu/Options/System/About'; +import About from '@/UI/Menu/Options/System/About'; import { WebGAL } from '@/Core/WebGAL'; export function System() { diff --git a/packages/webgal/src/Components/UI/Menu/Options/System/about.module.scss b/packages/webgal/src/UI/Menu/Options/System/about.module.scss similarity index 100% rename from packages/webgal/src/Components/UI/Menu/Options/System/about.module.scss rename to packages/webgal/src/UI/Menu/Options/System/about.module.scss diff --git a/packages/webgal/src/Components/UI/Menu/Options/TextPreview/TextPreview.tsx b/packages/webgal/src/UI/Menu/Options/TextPreview/TextPreview.tsx similarity index 96% rename from packages/webgal/src/Components/UI/Menu/Options/TextPreview/TextPreview.tsx rename to packages/webgal/src/UI/Menu/Options/TextPreview/TextPreview.tsx index 008d7bc94..7b59d1f37 100644 --- a/packages/webgal/src/Components/UI/Menu/Options/TextPreview/TextPreview.tsx +++ b/packages/webgal/src/UI/Menu/Options/TextPreview/TextPreview.tsx @@ -5,7 +5,7 @@ import { RootState } from '@/store/store'; import { useFontFamily } from '@/hooks/useFontFamily'; import { useTextAnimationDuration, useTextDelay } from '@/hooks/useTextOptions'; import useTrans from '@/hooks/useTrans'; -import { getTextSize } from '@/Components/UI/getTextSize'; +import { getTextSize } from '@/UI/getTextSize'; export const TextPreview = (props: any) => { const userDataState = useSelector((state: RootState) => state.userData); diff --git a/packages/webgal/src/Components/UI/Menu/Options/TextPreview/textPreview.module.scss b/packages/webgal/src/UI/Menu/Options/TextPreview/textPreview.module.scss similarity index 100% rename from packages/webgal/src/Components/UI/Menu/Options/TextPreview/textPreview.module.scss rename to packages/webgal/src/UI/Menu/Options/TextPreview/textPreview.module.scss diff --git a/packages/webgal/src/Components/UI/Menu/Options/normalButton.module.scss b/packages/webgal/src/UI/Menu/Options/normalButton.module.scss similarity index 100% rename from packages/webgal/src/Components/UI/Menu/Options/normalButton.module.scss rename to packages/webgal/src/UI/Menu/Options/normalButton.module.scss diff --git a/packages/webgal/src/Components/UI/Menu/Options/normalOption.module.scss b/packages/webgal/src/UI/Menu/Options/normalOption.module.scss similarity index 100% rename from packages/webgal/src/Components/UI/Menu/Options/normalOption.module.scss rename to packages/webgal/src/UI/Menu/Options/normalOption.module.scss diff --git a/packages/webgal/src/Components/UI/Menu/Options/options.module.scss b/packages/webgal/src/UI/Menu/Options/options.module.scss similarity index 100% rename from packages/webgal/src/Components/UI/Menu/Options/options.module.scss rename to packages/webgal/src/UI/Menu/Options/options.module.scss diff --git a/packages/webgal/src/Components/UI/Menu/Options/slider.css b/packages/webgal/src/UI/Menu/Options/slider.css similarity index 100% rename from packages/webgal/src/Components/UI/Menu/Options/slider.css rename to packages/webgal/src/UI/Menu/Options/slider.css diff --git a/packages/webgal/src/Components/UI/Menu/SaveAndLoad/Load/Load.tsx b/packages/webgal/src/UI/Menu/SaveAndLoad/Load/Load.tsx similarity index 100% rename from packages/webgal/src/Components/UI/Menu/SaveAndLoad/Load/Load.tsx rename to packages/webgal/src/UI/Menu/SaveAndLoad/Load/Load.tsx diff --git a/packages/webgal/src/Components/UI/Menu/SaveAndLoad/Save/Save.tsx b/packages/webgal/src/UI/Menu/SaveAndLoad/Save/Save.tsx similarity index 98% rename from packages/webgal/src/Components/UI/Menu/SaveAndLoad/Save/Save.tsx rename to packages/webgal/src/UI/Menu/SaveAndLoad/Save/Save.tsx index 4da33f093..69ad8c9d3 100644 --- a/packages/webgal/src/Components/UI/Menu/SaveAndLoad/Save/Save.tsx +++ b/packages/webgal/src/UI/Menu/SaveAndLoad/Save/Save.tsx @@ -5,7 +5,7 @@ import { setStorage } from '@/Core/controller/storage/storageController'; import { useDispatch, useSelector } from 'react-redux'; import { RootState } from '@/store/store'; import { setSlPage } from '@/store/userDataReducer'; -import { showGlogalDialog } from '@/Components/UI/GlobalDialog/GlobalDialog'; +import { showGlogalDialog } from '@/UI/GlobalDialog/GlobalDialog'; import useTrans from '@/hooks/useTrans'; import { useTranslation } from 'react-i18next'; import useSoundEffect from '@/hooks/useSoundEffect'; diff --git a/packages/webgal/src/Components/UI/Menu/SaveAndLoad/SaveAndLoad.module.scss b/packages/webgal/src/UI/Menu/SaveAndLoad/SaveAndLoad.module.scss similarity index 100% rename from packages/webgal/src/Components/UI/Menu/SaveAndLoad/SaveAndLoad.module.scss rename to packages/webgal/src/UI/Menu/SaveAndLoad/SaveAndLoad.module.scss diff --git a/packages/webgal/src/Components/UI/Menu/menu.module.scss b/packages/webgal/src/UI/Menu/menu.module.scss similarity index 100% rename from packages/webgal/src/Components/UI/Menu/menu.module.scss rename to packages/webgal/src/UI/Menu/menu.module.scss diff --git a/packages/webgal/src/Components/UI/PanicOverlay/PanicImage/PanicImage.tsx b/packages/webgal/src/UI/PanicOverlay/PanicImage/PanicImage.tsx similarity index 100% rename from packages/webgal/src/Components/UI/PanicOverlay/PanicImage/PanicImage.tsx rename to packages/webgal/src/UI/PanicOverlay/PanicImage/PanicImage.tsx diff --git a/packages/webgal/src/Components/UI/PanicOverlay/PanicImage/panicImage.module.scss b/packages/webgal/src/UI/PanicOverlay/PanicImage/panicImage.module.scss similarity index 100% rename from packages/webgal/src/Components/UI/PanicOverlay/PanicImage/panicImage.module.scss rename to packages/webgal/src/UI/PanicOverlay/PanicImage/panicImage.module.scss diff --git a/packages/webgal/src/Components/UI/PanicOverlay/PanicOverlay.tsx b/packages/webgal/src/UI/PanicOverlay/PanicOverlay.tsx similarity index 88% rename from packages/webgal/src/Components/UI/PanicOverlay/PanicOverlay.tsx rename to packages/webgal/src/UI/PanicOverlay/PanicOverlay.tsx index 236c1971c..6b21774e3 100644 --- a/packages/webgal/src/Components/UI/PanicOverlay/PanicOverlay.tsx +++ b/packages/webgal/src/UI/PanicOverlay/PanicOverlay.tsx @@ -3,7 +3,7 @@ import { useEffect, useState } from 'react'; import ReactDOM from 'react-dom'; import { useSelector } from 'react-redux'; import { RootState } from '@/store/store'; -import { PanicYoozle } from '@/Components/UI/PanicOverlay/PanicYoozle/PanicYoozle'; +import { PanicYoozle } from '@/UI/PanicOverlay/PanicYoozle/PanicYoozle'; export const PanicOverlay = () => { const GUIStore = useSelector((state: RootState) => state.GUI); diff --git a/packages/webgal/src/Components/UI/PanicOverlay/PanicYoozle/PanicYoozle.tsx b/packages/webgal/src/UI/PanicOverlay/PanicYoozle/PanicYoozle.tsx similarity index 100% rename from packages/webgal/src/Components/UI/PanicOverlay/PanicYoozle/PanicYoozle.tsx rename to packages/webgal/src/UI/PanicOverlay/PanicYoozle/PanicYoozle.tsx diff --git a/packages/webgal/src/Components/UI/PanicOverlay/PanicYoozle/panicYoozle.module.scss b/packages/webgal/src/UI/PanicOverlay/PanicYoozle/panicYoozle.module.scss similarity index 100% rename from packages/webgal/src/Components/UI/PanicOverlay/PanicYoozle/panicYoozle.module.scss rename to packages/webgal/src/UI/PanicOverlay/PanicYoozle/panicYoozle.module.scss diff --git a/packages/webgal/src/Components/UI/PanicOverlay/panicOverlay.module.scss b/packages/webgal/src/UI/PanicOverlay/panicOverlay.module.scss similarity index 100% rename from packages/webgal/src/Components/UI/PanicOverlay/panicOverlay.module.scss rename to packages/webgal/src/UI/PanicOverlay/panicOverlay.module.scss diff --git a/packages/webgal/src/Components/UI/Title/Title.tsx b/packages/webgal/src/UI/Title/Title.tsx similarity index 98% rename from packages/webgal/src/Components/UI/Title/Title.tsx rename to packages/webgal/src/UI/Title/Title.tsx index d8470746f..659a3918d 100644 --- a/packages/webgal/src/Components/UI/Title/Title.tsx +++ b/packages/webgal/src/UI/Title/Title.tsx @@ -8,7 +8,7 @@ import { setMenuPanelTag, setVisibility } from '@/store/GUIReducer'; import { MenuPanelTag } from '@/store/guiInterface'; import { nextSentence } from '@/Core/controller/gamePlay/nextSentence'; import { restorePerform } from '@/Core/controller/storage/jumpFromBacklog'; -import { setEbg } from '@/Core/util/setEbg'; +import { setEbg } from '@/Core/gameScripts/changeBg/setEbg'; import useTrans from '@/hooks/useTrans'; // import { resize } from '@/Core/util/resize'; import { hasFastSaveRecord, loadFastSaveGame } from '@/Core/controller/storage/fastSaveLoad'; diff --git a/packages/webgal/src/Components/UI/Title/title.module.scss b/packages/webgal/src/UI/Title/title.module.scss similarity index 100% rename from packages/webgal/src/Components/UI/Title/title.module.scss rename to packages/webgal/src/UI/Title/title.module.scss diff --git a/packages/webgal/src/Components/UI/Translation/Translation.tsx b/packages/webgal/src/UI/Translation/Translation.tsx similarity index 100% rename from packages/webgal/src/Components/UI/Translation/Translation.tsx rename to packages/webgal/src/UI/Translation/Translation.tsx diff --git a/packages/webgal/src/Components/UI/Translation/translation.module.scss b/packages/webgal/src/UI/Translation/translation.module.scss similarity index 100% rename from packages/webgal/src/Components/UI/Translation/translation.module.scss rename to packages/webgal/src/UI/Translation/translation.module.scss diff --git a/packages/webgal/src/Components/UI/etc/QuickSL.tsx b/packages/webgal/src/UI/etc/QuickSL.tsx similarity index 100% rename from packages/webgal/src/Components/UI/etc/QuickSL.tsx rename to packages/webgal/src/UI/etc/QuickSL.tsx diff --git a/packages/webgal/src/Components/UI/getTextSize.ts b/packages/webgal/src/UI/getTextSize.ts similarity index 100% rename from packages/webgal/src/Components/UI/getTextSize.ts rename to packages/webgal/src/UI/getTextSize.ts diff --git a/packages/webgal/src/Core/config/config.ts b/packages/webgal/src/config/index.ts similarity index 87% rename from packages/webgal/src/Core/config/config.ts rename to packages/webgal/src/config/index.ts index 8e7061050..a45247feb 100644 --- a/packages/webgal/src/Core/config/config.ts +++ b/packages/webgal/src/config/index.ts @@ -1,5 +1,6 @@ export const SYSTEM_CONFIG = { backlog_size: 200, + fast_timeout: 50, }; export const PERFORM_CONFIG = { // 不能小于50 diff --git a/packages/webgal/src/hooks/useFontFamily.ts b/packages/webgal/src/hooks/useFontFamily.ts index 53544e044..54c315ae9 100644 --- a/packages/webgal/src/hooks/useFontFamily.ts +++ b/packages/webgal/src/hooks/useFontFamily.ts @@ -8,9 +8,9 @@ export function useFontFamily() { function getFont() { return match(fontFamily) - ._(textFont.song, () => '"思源宋体", serif') - ._(textFont.lxgw, () => '"LXGW", serif') - ._(textFont.hei, () => '"WebgalUI", serif') + .with(textFont.song, () => '"思源宋体", serif') + .with(textFont.lxgw, () => '"LXGW", serif') + .with(textFont.hei, () => '"WebgalUI", serif') .default(() => '"WebgalUI", serif'); } diff --git a/packages/webgal/src/hooks/useHotkey.tsx b/packages/webgal/src/hooks/useHotkey.tsx index 782163764..a41c2998a 100644 --- a/packages/webgal/src/hooks/useHotkey.tsx +++ b/packages/webgal/src/hooks/useHotkey.tsx @@ -7,7 +7,7 @@ import { setVisibility } from '@/store/GUIReducer'; import { useDispatch } from 'react-redux'; import { startFast, stopAll, stopFast } from '@/Core/controller/gamePlay/fastSkip'; import { nextSentence } from '@/Core/controller/gamePlay/nextSentence'; -import styles from '@/Components/UI/Backlog/backlog.module.scss'; +import styles from '@/UI/Backlog/backlog.module.scss'; import throttle from 'lodash/throttle'; import { fastSaveGame } from '@/Core/controller/storage/fastSaveLoad'; import { WebGAL } from '@/Core/WebGAL'; diff --git a/packages/webgal/src/hooks/useLanguage.ts b/packages/webgal/src/hooks/useLanguage.ts index 798ab6051..7abf88974 100644 --- a/packages/webgal/src/hooks/useLanguage.ts +++ b/packages/webgal/src/hooks/useLanguage.ts @@ -3,7 +3,7 @@ import { setOptionData } from '@/store/userDataReducer'; import { useTranslation } from 'react-i18next'; import { useDispatch } from 'react-redux'; import { useGenSyncRef } from './useGenSyncRef'; -import { logger } from '@/Core/util/etc/logger'; +import { logger } from '@/Core/util/logger'; import { setStorage } from '@/Core/controller/storage/storageController'; import { language } from '@/config/language'; diff --git a/packages/webgal/src/store/guiInterface.ts b/packages/webgal/src/store/guiInterface.ts index a8f877c35..4fbb10ee8 100644 --- a/packages/webgal/src/store/guiInterface.ts +++ b/packages/webgal/src/store/guiInterface.ts @@ -1,4 +1,4 @@ -import { IWebGalTextBoxTheme } from '@/Components/themeInterface'; +import { IWebGalTextBoxTheme } from '@/Stage/themeInterface'; /** * 当前Menu页面显示的Tag diff --git a/packages/webgal/vite.config.ts b/packages/webgal/vite.config.ts index cb68013b1..f35fe9af4 100644 --- a/packages/webgal/vite.config.ts +++ b/packages/webgal/vite.config.ts @@ -11,7 +11,7 @@ import { isEqual } from 'lodash'; const env = process.env.NODE_ENV; console.log(env); (() => { - const pixiPerformScriptDirPath = './src/Core/gameScripts/pixiPerformScripts/'; + const pixiPerformScriptDirPath = './src/Core/gameScripts/pixi/performs/'; const pixiPerformManagerDirPath = './src/Core/util/pixiPerformManager/'; const relativePath = relative(pixiPerformManagerDirPath, pixiPerformScriptDirPath).replaceAll('\\', '/'); let lastFiles: string[] = []; From 2f4626d6d5e83c389a5980c25790e53406fa021e Mon Sep 17 00:00:00 2001 From: Mahiru Date: Sat, 18 Nov 2023 14:20:52 +0800 Subject: [PATCH 04/13] feat: add ruby( not the pl ruby but tag ruby) --- packages/webgal/public/game/scene/start.txt | 2 + packages/webgal/src/Stage/TextBox/TextBox.tsx | 102 +++++++++++++++--- .../Stage/TextBox/themes/imss/IMSSTextbox.tsx | 26 ++--- .../TextBox/themes/imss/imss.module.scss | 8 ++ .../themes/standard/StandardTextbox.tsx | 16 +-- .../themes/standard/standard.module.scss | 13 ++- packages/webgal/src/UI/Backlog/Backlog.tsx | 5 +- packages/webgal/src/UI/getTextSize.ts | 2 +- 8 files changed, 127 insertions(+), 47 deletions(-) diff --git a/packages/webgal/public/game/scene/start.txt b/packages/webgal/public/game/scene/start.txt index 642f0a686..483dd02a7 100644 --- a/packages/webgal/public/game/scene/start.txt +++ b/packages/webgal/public/game/scene/start.txt @@ -1,3 +1,5 @@ +changeBg:bg.png -next; +MZK:『[笑顔](えがお)』なんて、|『[笑う](わらう)』なんて、| [誰](だれ)でも[出来](でき)るもん…! setVar:heroine=WebGAL; setVar:egine=WebGAL; choose:简体中文:demo_zh_cn.txt|日本語:demo_ja.txt|English:demo_en.txt|Lip Sync Animation Test:demo_animation.txt | Variable interpolation test:demo_var.txt; diff --git a/packages/webgal/src/Stage/TextBox/TextBox.tsx b/packages/webgal/src/Stage/TextBox/TextBox.tsx index 4a9af5d2e..1a86ed279 100644 --- a/packages/webgal/src/Stage/TextBox/TextBox.tsx +++ b/packages/webgal/src/Stage/TextBox/TextBox.tsx @@ -1,4 +1,4 @@ -import { FC, useEffect } from 'react'; +import { FC, ReactNode, useEffect } from 'react'; import { useSelector } from 'react-redux'; import { RootState } from '@/store/store'; import { useFontFamily } from '@/hooks/useFontFamily'; @@ -7,6 +7,7 @@ import { getTextSize } from '@/UI/getTextSize'; import StandardTextbox, { ITextboxProps } from '@/Stage/TextBox/themes/standard/StandardTextbox'; import IMSSTextbox from '@/Stage/TextBox/themes/imss/IMSSTextbox'; import { IWebGalTextBoxTheme } from '@/Stage/themeInterface'; +import { match } from '@/Core/util/match'; import { textSize } from '@/store/userDataInterface'; const isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent); @@ -36,8 +37,13 @@ export const TextBox = () => { size = getTextSize(stageState.showTextSize) + '%'; textSizeState = stageState.showTextSize; } + const lineLimit = match(userDataState.optionData.textSize) + .with(textSize.small, () => 3) + .with(textSize.medium, () => 2) + .with(textSize.large, () => 2) + .default(() => 2); // 拆字 - const textArray: Array = splitChars(stageState.showText); + const textArray = compileSentence(stageState.showText, lineLimit); const showName = stageState.showName; const currentConcatDialogPrev = stageState.currentConcatDialogPrev; const currentDialogKey = stageState.currentDialogKey; @@ -58,6 +64,7 @@ export const TextBox = () => { textDuration={textDuration} font={font} textSizeState={textSizeState} + lineLimit={lineLimit} /> ); }; @@ -66,11 +73,40 @@ function isCJK(character: string) { return !!character.match(/[\u4e00-\u9fa5]|[\u0800-\u4e00]|[\uac00-\ud7ff]/); } +export function compileSentence(sentence: string, lineLimit: number, ignoreLineLimit?: boolean): ReactNode[] { + // 先拆行 + const lines = sentence.split('|'); + // 对每一行进行注音处理 + const rubyLines = lines.map((line) => parseString(line)); + const nodeLines = rubyLines.map((line) => { + const ln: ReactNode[] = []; + line.forEach((node) => { + match(node.type) + .with(SegmentType.String, () => { + const chars = splitChars(node.value as string); + ln.push(...chars); + }) + .endsWith(SegmentType.Link, () => { + const val = node.value as LinkValue; + const rubyNode = ( + + {val.text} + {val.link} + + ); + ln.push(rubyNode); + }); + }); + return ln; + }); + const ret = nodeLines + .slice(0, ignoreLineLimit ? undefined : lineLimit) + .reduce((prev, curr, currentIndex) => [...prev, ...curr,
], []); + ret.pop(); + return ret; +} + /** - * TODO:新的文本处理模式 - * 1 拆行,分别处理,中间用 br连接 - * 2 找出需要注音的部分,然后断开,注音的部分单独处理,其他部分用原来的方法处理 - * 3 全部连接 * @param sentence */ export function splitChars(sentence: string) { @@ -85,15 +121,15 @@ export function splitChars(sentence: string) { }; for (const character of sentence) { - if (character === '|') { - if (word) { - words.push(word); - word = ''; - } - words.push('
'); - cjkFlag = false; - continue; - } + // if (character === '|') { + // if (word) { + // words.push(word); + // word = ''; + // } + // words.push('
'); + // cjkFlag = false; + // continue; + // } if (character === ' ') { // Space if (word) { @@ -141,3 +177,39 @@ export function splitChars(sentence: string) { return words; } + +enum SegmentType { + String = 'SegmentType.String', + Link = 'SegmentType.Link', +} + +interface LinkValue { + text: string; + link: string; +} + +interface Segment { + type: SegmentType; + value: string | LinkValue; +} + +function parseString(input: string): Segment[] { + const regex = /(\[(.*?)\]\((.*?)\))|([^\[\]]+)/g; + const result: Segment[] = []; + let match: RegExpExecArray | null; + + while ((match = regex.exec(input)) !== null) { + if (match[1]) { + // 链接部分 + const text = match[2]; + const link = match[3]; + result.push({ type: SegmentType.Link, value: { text, link } }); + } else { + // 普通文本 + const text = match[0]; + result.push({ type: SegmentType.String, value: text }); + } + } + + return result; +} diff --git a/packages/webgal/src/Stage/TextBox/themes/imss/IMSSTextbox.tsx b/packages/webgal/src/Stage/TextBox/themes/imss/IMSSTextbox.tsx index 60e8821be..04c38258c 100644 --- a/packages/webgal/src/Stage/TextBox/themes/imss/IMSSTextbox.tsx +++ b/packages/webgal/src/Stage/TextBox/themes/imss/IMSSTextbox.tsx @@ -1,20 +1,7 @@ import styles from './imss.module.scss'; -import { useEffect } from 'react'; +import { ReactNode, useEffect } from 'react'; import { WebGAL } from '@/Core/WebGAL'; - -export interface ITextboxProps { - textArray: string[]; - textDelay: number; - currentConcatDialogPrev: string; - currentDialogKey: string; - isText: boolean; - isSafari: boolean; - fontSize: string; - miniAvatar: string; - showName: string; - font: string; - textDuration: number; -} +import { ITextboxProps } from '../standard/StandardTextbox'; export default function IMSSTextbox(props: ITextboxProps) { const { @@ -46,9 +33,9 @@ export default function IMSSTextbox(props: ITextboxProps) { }, []); const textElementList = textArray.map((e, index) => { - if (e === '
') { - return
; - } + // if (e === '
') { + // return
; + // } let delay = index * textDelay; let prevLength = currentConcatDialogPrev.length; if (currentConcatDialogPrev !== '' && index >= prevLength) { @@ -57,7 +44,7 @@ export default function IMSSTextbox(props: ITextboxProps) { if (index < prevLength) { return ( {textElementList} diff --git a/packages/webgal/src/Stage/TextBox/themes/imss/imss.module.scss b/packages/webgal/src/Stage/TextBox/themes/imss/imss.module.scss index b7de847ef..db0f13473 100644 --- a/packages/webgal/src/Stage/TextBox/themes/imss/imss.module.scss +++ b/packages/webgal/src/Stage/TextBox/themes/imss/imss.module.scss @@ -195,3 +195,11 @@ $height: 330px; z-index: 1; //text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.75); } + +.text { + line-height: 1.9em; + display: -webkit-box; + -webkit-box-orient: vertical; + //-webkit-line-clamp: 2; + overflow: hidden; +} diff --git a/packages/webgal/src/Stage/TextBox/themes/standard/StandardTextbox.tsx b/packages/webgal/src/Stage/TextBox/themes/standard/StandardTextbox.tsx index 295a318cf..c79a8af9b 100644 --- a/packages/webgal/src/Stage/TextBox/themes/standard/StandardTextbox.tsx +++ b/packages/webgal/src/Stage/TextBox/themes/standard/StandardTextbox.tsx @@ -1,10 +1,10 @@ import styles from './standard.module.scss'; import { textSize } from '@/store/userDataInterface'; -import { useEffect } from 'react'; +import { ReactNode, useEffect } from 'react'; import { WebGAL } from '@/Core/WebGAL'; export interface ITextboxProps { - textArray: string[]; + textArray: ReactNode[]; textDelay: number; currentConcatDialogPrev: string; currentDialogKey: string; @@ -16,6 +16,7 @@ export interface ITextboxProps { font: string; textDuration: number; textSizeState: number; + lineLimit: number; } export default function StandardTextbox(props: ITextboxProps) { @@ -51,9 +52,9 @@ export default function StandardTextbox(props: ITextboxProps) { }, []); const textElementList = textArray.map((e, index) => { - if (e === '
') { - return
; - } + // if (e === '
') { + // return
; + // } let delay = index * textDelay; let prevLength = currentConcatDialogPrev.length; if (currentConcatDialogPrev !== '' && index >= prevLength) { @@ -62,7 +63,7 @@ export default function StandardTextbox(props: ITextboxProps) { if (index < prevLength) { return ( {textElementList} diff --git a/packages/webgal/src/Stage/TextBox/themes/standard/standard.module.scss b/packages/webgal/src/Stage/TextBox/themes/standard/standard.module.scss index 50dae3a2a..3a134fe8a 100644 --- a/packages/webgal/src/Stage/TextBox/themes/standard/standard.module.scss +++ b/packages/webgal/src/Stage/TextBox/themes/standard/standard.module.scss @@ -32,7 +32,7 @@ $height: 430px; align-items: flex-start; animation: showSoftly 0.7s ease-out forwards; letter-spacing: 0.2em; - backdrop-filter: blur(5px); + backdrop-filter: blur(2px); transition: left 0.33s, padding-left 0.33s; } @@ -44,7 +44,7 @@ $height: 430px; display: flex; align-items: center; transition: left 0.33s; - border-bottom: 3px solid rgba(255,255,255,0.8); + border-bottom: 3px solid rgba(255, 255, 255, 0.8); } @keyframes showSoftly { @@ -95,7 +95,6 @@ $height: 430px; } - .TextBox_textElement_Settled { position: relative; @include text_shadow_textElement; @@ -152,3 +151,11 @@ $height: 430px; top: 0; z-index: 1; } + +.text { + line-height: 1.9em; + display: -webkit-box; + -webkit-box-orient: vertical; + //-webkit-line-clamp: 2; + overflow: hidden; +} diff --git a/packages/webgal/src/UI/Backlog/Backlog.tsx b/packages/webgal/src/UI/Backlog/Backlog.tsx index bb69c79c2..9b0d3bdb5 100644 --- a/packages/webgal/src/UI/Backlog/Backlog.tsx +++ b/packages/webgal/src/UI/Backlog/Backlog.tsx @@ -7,7 +7,7 @@ import { setVisibility } from '@/store/GUIReducer'; import { logger } from '@/Core/util/logger'; import { useEffect, useMemo, useRef, useState } from 'react'; import useTrans from '@/hooks/useTrans'; -import { splitChars } from '@/Stage/TextBox/TextBox'; +import { compileSentence, splitChars } from '@/Stage/TextBox/TextBox'; import useSoundEffect from '@/hooks/useSoundEffect'; import { WebGAL } from '@/Core/WebGAL'; @@ -28,7 +28,8 @@ export const Backlog = () => { // logger.info('backlogList render'); for (let i = 0; i < WebGAL.backlogManager.getBacklog().length; i++) { const backlogItem = WebGAL.backlogManager.getBacklog()[i]; - const showTextArray = splitChars(backlogItem.currentStageState.showText); + // const showTextArray = splitChars(backlogItem.currentStageState.showText.replaceAll(/[\[\]]/g, '')); + const showTextArray = compileSentence(backlogItem.currentStageState.showText, 3, true); const showTextElementList = showTextArray.map((e, index) => { if (e === '
') { return
; diff --git a/packages/webgal/src/UI/getTextSize.ts b/packages/webgal/src/UI/getTextSize.ts index 4ed1492b0..bdad545c2 100644 --- a/packages/webgal/src/UI/getTextSize.ts +++ b/packages/webgal/src/UI/getTextSize.ts @@ -5,7 +5,7 @@ export function getTextSize(size: number) { case 1: return 205; case 2: - return 280; + return 240; default: return 205; } From d94acce60b4caa4c3a88852b284c2c327476e286 Mon Sep 17 00:00:00 2001 From: Mahiru Date: Sat, 18 Nov 2023 14:27:07 +0800 Subject: [PATCH 05/13] fix: backlog problem --- packages/webgal/public/game/scene/start.txt | 2 -- packages/webgal/src/Stage/TextBox/TextBox.tsx | 4 ++-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/packages/webgal/public/game/scene/start.txt b/packages/webgal/public/game/scene/start.txt index 483dd02a7..642f0a686 100644 --- a/packages/webgal/public/game/scene/start.txt +++ b/packages/webgal/public/game/scene/start.txt @@ -1,5 +1,3 @@ -changeBg:bg.png -next; -MZK:『[笑顔](えがお)』なんて、|『[笑う](わらう)』なんて、| [誰](だれ)でも[出来](でき)るもん…! setVar:heroine=WebGAL; setVar:egine=WebGAL; choose:简体中文:demo_zh_cn.txt|日本語:demo_ja.txt|English:demo_en.txt|Lip Sync Animation Test:demo_animation.txt | Variable interpolation test:demo_var.txt; diff --git a/packages/webgal/src/Stage/TextBox/TextBox.tsx b/packages/webgal/src/Stage/TextBox/TextBox.tsx index 1a86ed279..8ed515527 100644 --- a/packages/webgal/src/Stage/TextBox/TextBox.tsx +++ b/packages/webgal/src/Stage/TextBox/TextBox.tsx @@ -80,7 +80,7 @@ export function compileSentence(sentence: string, lineLimit: number, ignoreLineL const rubyLines = lines.map((line) => parseString(line)); const nodeLines = rubyLines.map((line) => { const ln: ReactNode[] = []; - line.forEach((node) => { + line.forEach((node, index) => { match(node.type) .with(SegmentType.String, () => { const chars = splitChars(node.value as string); @@ -89,7 +89,7 @@ export function compileSentence(sentence: string, lineLimit: number, ignoreLineL .endsWith(SegmentType.Link, () => { const val = node.value as LinkValue; const rubyNode = ( - + {val.text} {val.link} From ea5d9327c190c6ab84ea68a4814739f5e5a95496 Mon Sep 17 00:00:00 2001 From: Mahiru Date: Tue, 21 Nov 2023 21:25:38 +0800 Subject: [PATCH 06/13] feat: add confirm to title --- .../src/UI/BottomControlPanel/BottomControlPanel.tsx | 11 ++++++++++- packages/webgal/src/translations/en.ts | 1 + packages/webgal/src/translations/fr.ts | 1 + packages/webgal/src/translations/jp.ts | 1 + packages/webgal/src/translations/zh-cn.ts | 1 + 5 files changed, 14 insertions(+), 1 deletion(-) diff --git a/packages/webgal/src/UI/BottomControlPanel/BottomControlPanel.tsx b/packages/webgal/src/UI/BottomControlPanel/BottomControlPanel.tsx index 92f12f80b..923a91019 100644 --- a/packages/webgal/src/UI/BottomControlPanel/BottomControlPanel.tsx +++ b/packages/webgal/src/UI/BottomControlPanel/BottomControlPanel.tsx @@ -25,6 +25,7 @@ import { loadGame } from '@/Core/controller/storage/loadGame'; import useTrans from '@/hooks/useTrans'; import { useTranslation } from 'react-i18next'; import useSoundEffect from '@/hooks/useSoundEffect'; +import { showGlogalDialog } from '@/UI/GlobalDialog/GlobalDialog'; export const BottomControlPanel = () => { const t = useTrans('gaming.'); @@ -276,7 +277,15 @@ export const BottomControlPanel = () => { className={styles.singleButton} style={{ fontSize }} onClick={() => { - backToTitle(); + showGlogalDialog({ + title: t('buttons.titleTips'), + leftText: t('$common.yes'), + rightText: t('$common.no'), + leftFunc: () => { + backToTitle(); + }, + rightFunc: () => {}, + }); playSeClickCloseButton(); }} onMouseEnter={playSeEnter} diff --git a/packages/webgal/src/translations/en.ts b/packages/webgal/src/translations/en.ts index a4773fc51..5ae50c33b 100644 --- a/packages/webgal/src/translations/en.ts +++ b/packages/webgal/src/translations/en.ts @@ -163,6 +163,7 @@ const en = { load: 'Load', options: 'Options', title: 'Title', + titleTips: 'Confirm return to the title screen', }, }, diff --git a/packages/webgal/src/translations/fr.ts b/packages/webgal/src/translations/fr.ts index 43077f1e3..226db0dac 100644 --- a/packages/webgal/src/translations/fr.ts +++ b/packages/webgal/src/translations/fr.ts @@ -163,6 +163,7 @@ const fr = { load: 'Charger', options: 'Options', title: 'Titre', + titleTips: "Confirmer le retour à l'écran titre", }, }, diff --git a/packages/webgal/src/translations/jp.ts b/packages/webgal/src/translations/jp.ts index c7cbb946c..45a539f01 100644 --- a/packages/webgal/src/translations/jp.ts +++ b/packages/webgal/src/translations/jp.ts @@ -165,6 +165,7 @@ const jp = { load: 'LOAD', options: 'CONFIG', title: 'HOME', + titleTips: 'タイトル画面に戻ることを確認しますか', }, }, diff --git a/packages/webgal/src/translations/zh-cn.ts b/packages/webgal/src/translations/zh-cn.ts index bc4176fd7..c14d4b0e3 100644 --- a/packages/webgal/src/translations/zh-cn.ts +++ b/packages/webgal/src/translations/zh-cn.ts @@ -167,6 +167,7 @@ const zhCn = { load: '读档', options: '选项', title: '标题', + titleTips: '确认返回到标题界面吗', }, }, From 8dabd84e10d0a695bcded460c93e6f5d6ebefe08 Mon Sep 17 00:00:00 2001 From: Mahiru Date: Tue, 21 Nov 2023 22:27:41 +0800 Subject: [PATCH 07/13] fix: l2d lip sync --- .../controller/stage/pixi/PixiController.ts | 42 +++++++++++++++++-- .../Core/gameScripts/vocal/vocalAnimation.ts | 1 + 2 files changed, 39 insertions(+), 4 deletions(-) diff --git a/packages/webgal/src/Core/controller/stage/pixi/PixiController.ts b/packages/webgal/src/Core/controller/stage/pixi/PixiController.ts index 07a0f7cc5..1757a69a6 100644 --- a/packages/webgal/src/Core/controller/stage/pixi/PixiController.ts +++ b/packages/webgal/src/Core/controller/stage/pixi/PixiController.ts @@ -8,7 +8,7 @@ import { logger } from '@/Core/util/logger'; import { isIOS } from '@/Core/initializeScript'; import { WebGALPixiContainer } from '@/Core/controller/stage/pixi/WebGALPixiContainer'; import { WebGAL } from '@/Core/WebGAL'; -// import { figureCash } from '@/Core/gameScripts/function/conentsCash'; // 如果要使用 Live2D,取消这里的注释 +// import { figureCash } from '@/Core/gameScripts/vocal/conentsCash'; // 如果要使用 Live2D,取消这里的注释 // import { Live2DModel, SoundManager } from 'pixi-live2d-display'; // 如果要使用 Live2D,取消这里的注释 export interface IAnimationObject { @@ -547,6 +547,8 @@ export default class PixiStage { // pixiContainer: thisFigureContainer, // sourceUrl: jsonPath, // }); + // // eslint-disable-next-line @typescript-eslint/no-this-alias + // const instance = this; // // const setup = () => { // if (thisFigureContainer) { @@ -572,14 +574,28 @@ export default class PixiStage { // model.position.x = stageWidth - targetWidth / 2; // } // - // let category_name = motion; + // let motionToSet = motion; // let animation_index = 0; // let priority_number = 3; // // var audio_link = voiceCash.pop(); // // // model.motion(category_name, animation_index, priority_number,location.href + audio_link); - // model.motion(category_name, animation_index, priority_number); - // model.expression(expression); + // /** + // * 检查 Motion 和 Expression + // */ + // const motionFromState = webgalStore.getState().stage.live2dMotion.find((e) => e.target === key); + // const expressionFromState = webgalStore.getState().stage.live2dExpression.find((e) => e.target === key); + // if (motionFromState) { + // motionToSet = motionFromState.motion; + // } + // instance.updateL2dMotionByKey(key, motionToSet); + // model.motion(motionToSet, animation_index, priority_number); + // let expressionToSet = expression; + // if (expressionFromState) { + // expressionToSet = expressionFromState.expression; + // } + // instance.updateL2dExpressionByKey(key, expressionToSet); + // model.expression(expressionToSet); // // // lip-sync is still a problem and you can not. // SoundManager.volume = 0; @@ -637,6 +653,24 @@ export default class PixiStage { } } + public setModelMouthY(key: string, y: number) { + function mapToZeroOne(value: number) { + return value < 50 ? 0 : (value - 50) / 50; + } + const paramY = mapToZeroOne(y); + const target = this.figureObjects.find((e) => e.key === key); + if (target) { + const container = target.pixiContainer; + const children = container.children; + for (const model of children) { + // @ts-ignore + if (model?.internalModel) + // @ts-ignore + model?.internalModel?.coreModel?.setParamFloat?.('PARAM_MOUTH_OPEN_Y', paramY); + } + } + } + /** * 根据 key 获取舞台上的对象 * @param key diff --git a/packages/webgal/src/Core/gameScripts/vocal/vocalAnimation.ts b/packages/webgal/src/Core/gameScripts/vocal/vocalAnimation.ts index aeb1ae72d..e46637006 100644 --- a/packages/webgal/src/Core/gameScripts/vocal/vocalAnimation.ts +++ b/packages/webgal/src/Core/gameScripts/vocal/vocalAnimation.ts @@ -84,6 +84,7 @@ export const performMouthAnimation = (params: { } // Lerp const mouthValue = currentMouthValue + (targetValue - currentMouthValue) * lerpSpeed; + WebGAL.gameplay.pixiStage?.setModelMouthY(key, audioLevel); let mouthState; if (mouthValue > 0.75) { From dec3eeae30cc57acacf281abb550bf85126456ae Mon Sep 17 00:00:00 2001 From: Mahiru Date: Thu, 23 Nov 2023 20:42:11 +0800 Subject: [PATCH 08/13] feat: config translations --- packages/webgal/src/UI/DevPanel/DevPanel.tsx | 3 --- packages/webgal/src/config/language.ts | 8 ++++++++ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/packages/webgal/src/UI/DevPanel/DevPanel.tsx b/packages/webgal/src/UI/DevPanel/DevPanel.tsx index 9a88c3745..d47c2d112 100644 --- a/packages/webgal/src/UI/DevPanel/DevPanel.tsx +++ b/packages/webgal/src/UI/DevPanel/DevPanel.tsx @@ -29,9 +29,6 @@ export default function DevPanel() { const devMainArea = ( <>
getPixiSscreenshot()}>Save PIXI Screenshot
-
i18n.changeLanguage('zhCn')}>To Chinese
-
i18n.changeLanguage('en')}>To English
-
i18n.changeLanguage('jp')}>To Japanese
Current Language:{i18n.language}
WebGAL.gameplay.pixiStage?.removeAnimation('snow-Ticker')}>Remove Snow Ticker
Stage State
diff --git a/packages/webgal/src/config/language.ts b/packages/webgal/src/config/language.ts index 85b288efc..2a5c69899 100644 --- a/packages/webgal/src/config/language.ts +++ b/packages/webgal/src/config/language.ts @@ -9,6 +9,8 @@ import en from '@/translations/en'; import jp from '@/translations/jp'; import zhCn from '@/translations/zh-cn'; import fr from '@/translations/fr'; +import de from '@/translations/de'; +import zhTw from '@/translations/zh-tw'; /* Import your translation configs here; example: @@ -20,6 +22,8 @@ export enum language { en, jp, fr, + de, + zhTw, } const languages: Record = { @@ -27,6 +31,8 @@ const languages: Record = { en: 'English', jp: '日本語', fr: 'Français', + de: 'Deutsch', + zhTw: '繁體中文', }; export const i18nTranslationResources: Record }> = { @@ -34,6 +40,8 @@ export const i18nTranslationResources: Record Date: Thu, 23 Nov 2023 21:22:47 +0800 Subject: [PATCH 09/13] feat: get user input --- .../webgal/public/game/scene/demo_zh_cn.txt | 13 ++- .../Core/controller/scene/sceneInterface.ts | 1 + .../getUserInput/getUserInput.module.scss | 106 ++++++++++++++++++ .../Core/gameScripts/getUserInput/index.tsx | 68 +++++++++++ .../webgal/src/Core/parser/sceneParser.ts | 2 + 5 files changed, 189 insertions(+), 1 deletion(-) create mode 100644 packages/webgal/src/Core/gameScripts/getUserInput/getUserInput.module.scss create mode 100644 packages/webgal/src/Core/gameScripts/getUserInput/index.tsx diff --git a/packages/webgal/public/game/scene/demo_zh_cn.txt b/packages/webgal/public/game/scene/demo_zh_cn.txt index a19396eb6..b751467d2 100644 --- a/packages/webgal/public/game/scene/demo_zh_cn.txt +++ b/packages/webgal/public/game/scene/demo_zh_cn.txt @@ -19,8 +19,19 @@ pixiInit; pixiPerform:snow; 比如,这个下起小雪的特效。 -v6.wav; 除此以外,分支选择的功能也必不可少。 -v7.wav; -你可以通过以下两个分支了解 {egine} 的更多故事。 -v8.wav; pixiInit; +WebGAL:接下来介绍一些新版本功能! +WebGAL:比如这个[注](zhù)[音](yīn)功能,可以为游戏带来更好的体验! +WebGAL:新版本添加了特性:获取用户输入,你要尝试一下吗? +choose:尝试一下:userInput|算了吧:toNextPart; + +label:userInput; +getUserInput:name -title=如何称呼你 -buttonText=确认; +WebGAL:很高兴遇见你,{name}! +jumpLabel:toNextPart; + +label:toNextPart; +你可以通过以下两个分支了解 {egine} 的更多故事。 -v8.wav; choose:{egine} 发展历程:choose1|{egine} 冷知识:choose2; ;分支1 diff --git a/packages/webgal/src/Core/controller/scene/sceneInterface.ts b/packages/webgal/src/Core/controller/scene/sceneInterface.ts index 040a4293c..0bfae7900 100644 --- a/packages/webgal/src/Core/controller/scene/sceneInterface.ts +++ b/packages/webgal/src/Core/controller/scene/sceneInterface.ts @@ -36,6 +36,7 @@ export enum commandType { comment, setTransform, setTransition, + getUserInput, } /** diff --git a/packages/webgal/src/Core/gameScripts/getUserInput/getUserInput.module.scss b/packages/webgal/src/Core/gameScripts/getUserInput/getUserInput.module.scss new file mode 100644 index 000000000..930d0463c --- /dev/null +++ b/packages/webgal/src/Core/gameScripts/getUserInput/getUserInput.module.scss @@ -0,0 +1,106 @@ +.Choose_Main { + position: absolute; + width: 100%; + height: 100%; + display: flex; + flex-flow: column; + justify-content: center; + align-items: center; + z-index: 13; + background: rgba(0, 0, 0, 0.05); +} + +.Choose_item { + cursor: pointer; + min-width: 50%; + padding: 0.25em 1em 0.25em 1em; + font-size: 265%; + color: #005caf; + text-align: center; + border-radius: 4px; + border: 3px solid rgba(0, 0, 0, 0); + box-shadow: 0 0 25px rgba(0, 0, 0, 0.25); + background: rgba(255, 255, 255, 0.65); + margin: 0.25em 0 0.25em 0; + transition: background-color 0.5s, border 0.5s, font-weight 0.5s, box-shadow 0.5s; +} + +//.title { +// cursor: pointer; +// min-width: 50%; +// padding: 0.25em 1em 0.25em 1em; +// font-size: 265%; +// color: #8E354A; +// text-align: center; +// border-radius: 4px; +// border: 3px solid rgba(0, 0, 0, 0); +// box-shadow: 0 0 25px rgba(0, 0, 0, 0.25); +// background: rgba(255, 255, 255, 0.65); +// margin: 0.25em 0 0.25em 0; +// transition: background-color 0.5s, border 0.5s, font-weight 0.5s, box-shadow 0.5s; +//} + +.glabalDialog_container_inner { + width: 100%; + height: 100%; + display: flex; + justify-content: center; + align-items: center; + flex-flow: column; + background: linear-gradient(to right, + rgba(0, 92, 175, 0) 0%, + rgba(0, 92, 175, 0.5) 33%, + rgba(0, 92, 175, 0.85) 50%, + rgba(0, 92, 175, 0.5) 66%, + rgba(0, 92, 175, 0) 100% + ); + padding: 1em 5em 1.5em 5em; +} + +.glabalDialog_container { + //height: 20%; + color:white; + width: 100%; + border-top: 4px solid; + border-bottom: 4px solid; + border-image: linear-gradient(to right, + rgba(255, 255, 255, 0.05) 0%, + rgba(255, 255, 255, 0.85) 33%, + rgba(255, 255, 255, 1) 50%, + rgba(255, 255, 255, 0.85) 66%, + rgba(255, 255, 255, 0.05) 100% + ) 1; + //padding: 1px 1px 1px 1px; +} + +.title { + font-size: 300%; + letter-spacing: 0.05em; + text-shadow: 0 0 10px rgba(255, 255, 255, 0.5); +} + +.Choose_item:hover { + //font-weight: bold; + background: rgba(255, 255, 255, 0.9); + box-shadow: 0 0 25px rgba(0, 0, 0, 0.35); + border: 3px solid #005caf; +} + +.button { + font-size: 200%; + padding: 0.15em 1em 0.15em 1em; + margin: 0.2em 1em 0.2em 1em; + cursor: pointer; + transition: background-color 0.33s, color 0.33s, font-weight 0.33s, transform 0.33s; + text-shadow: 0 0 10px rgba(255, 255, 255, 1); + border-radius: 5px; + //background: rgba(0, 0, 0, 0.05); +} + +.button:hover { + font-weight: bold; + color: #005caf; + transform: scale(1.1, 1.1); + text-shadow: 0 0 15px rgba(0, 0, 0, 0); + background: rgba(255, 255, 255, 0.85); +} diff --git a/packages/webgal/src/Core/gameScripts/getUserInput/index.tsx b/packages/webgal/src/Core/gameScripts/getUserInput/index.tsx new file mode 100644 index 000000000..1a0bcfb32 --- /dev/null +++ b/packages/webgal/src/Core/gameScripts/getUserInput/index.tsx @@ -0,0 +1,68 @@ +import { ISentence } from '@/Core/controller/scene/sceneInterface'; +import { IPerform } from '@/Core/Modules/perform/performInterface'; +import { changeScene } from '@/Core/controller/scene/changeScene'; +import { jmp } from '@/Core/gameScripts/label/jmp'; +import ReactDOM from 'react-dom'; +import React from 'react'; +import styles from './getUserInput.module.scss'; +import { webgalStore } from '@/store/store'; +import { textFont } from '@/store/userDataInterface'; +import { PerformController } from '@/Core/Modules/perform/performController'; +import { useSEByWebgalStore } from '@/hooks/useSoundEffect'; +import { WebGAL } from '@/Core/WebGAL'; +import { getSentenceArgByKey } from '@/Core/util/getSentenceArg'; +import { nextSentence } from '@/Core/controller/gamePlay/nextSentence'; +import { setStageVar } from '@/store/stageReducer'; + +/** + * 显示选择枝 + * @param sentence + */ +export const getUserInput = (sentence: ISentence): IPerform => { + const varKey = sentence.content.toString().trim(); + const titleFromArgs = getSentenceArgByKey(sentence, 'title'); + const title = titleFromArgs ?? 'Please Input'; + const buttonTextFromArgs = getSentenceArgByKey(sentence, 'buttonText'); + const buttonText = buttonTextFromArgs ?? 'OK'; + const fontFamily = webgalStore.getState().userData.optionData.textboxFont; + const font = fontFamily === textFont.song ? '"思源宋体", serif' : '"WebgalUI", serif'; + const { playSeEnterChoose, playSeClickChoose } = useSEByWebgalStore(); + const chooseElements = ( +
+
+
{title}
+ +
{ + const userInput: HTMLInputElement = document.getElementById('user-input') as HTMLInputElement; + if (userInput) { + webgalStore.dispatch(setStageVar({ key: varKey, value: userInput?.value ?? '' })); + } + playSeClickChoose(); + WebGAL.gameplay.performController.unmountPerform('userInput'); + nextSentence(); + }} + className={styles.button} + > + {buttonText} +
+
+
+ ); + ReactDOM.render( +
{chooseElements}
, + document.getElementById('chooseContainer'), + ); + return { + performName: 'userInput', + duration: 1000 * 60 * 60 * 24, + isHoldOn: false, + stopFunction: () => { + ReactDOM.render(
, document.getElementById('chooseContainer')); + }, + blockingNext: () => true, + blockingAuto: () => true, + stopTimeout: undefined, // 暂时不用,后面会交给自动清除 + }; +}; diff --git a/packages/webgal/src/Core/parser/sceneParser.ts b/packages/webgal/src/Core/parser/sceneParser.ts index 0ca0aa3e0..9bc54b274 100644 --- a/packages/webgal/src/Core/parser/sceneParser.ts +++ b/packages/webgal/src/Core/parser/sceneParser.ts @@ -35,6 +35,7 @@ import { comment } from '@/Core/gameScripts/comment'; import { IPerform } from '@/Core/Modules/perform/performInterface'; import { setTransform } from '@/Core/gameScripts/setTransform'; import { setTransition } from '@/Core/gameScripts/setTransition'; +import { getUserInput } from '@/Core/gameScripts/getUserInput'; interface IConfigInterface { scriptString: string; @@ -77,6 +78,7 @@ export const SCRIPT_CONFIG: IConfigInterface[] = [ { scriptString: '__commment', scriptType: commandType.comment, scriptFunction: comment }, { scriptString: 'setTransform', scriptType: commandType.setTransform, scriptFunction: setTransform }, { scriptString: 'setTransition', scriptType: commandType.setTransition, scriptFunction: setTransition }, + { scriptString: 'getUserInput', scriptType: commandType.getUserInput, scriptFunction: getUserInput }, ]; export const ADD_NEXT_ARG_LIST = [ commandType.bgm, From 806d3bfc1382f04f109d2f2ce280c9ebe301a936 Mon Sep 17 00:00:00 2001 From: Mahiru Date: Thu, 23 Nov 2023 21:26:57 +0800 Subject: [PATCH 10/13] update version number --- packages/webgal/package.json | 2 +- packages/webgal/src/config/info.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/webgal/package.json b/packages/webgal/package.json index 590859c20..e918471b8 100644 --- a/packages/webgal/package.json +++ b/packages/webgal/package.json @@ -1,7 +1,7 @@ { "name": "webgal", "private": true, - "version": "4.4.6", + "version": "4.4.7", "scripts": { "dev": "vite --host --port 3000", "build": "cross-env NODE_ENV=production tsc && vite build --base=./", diff --git a/packages/webgal/src/config/info.ts b/packages/webgal/src/config/info.ts index ae55193ee..cb5d6f806 100644 --- a/packages/webgal/src/config/info.ts +++ b/packages/webgal/src/config/info.ts @@ -1,5 +1,5 @@ export const __INFO = { - version: 'WebGAL 4.4.6.4', + version: 'WebGAL 4.4.7', contributors: [ { username: 'Mahiru', link: 'https://github.com/MakinoharaShoko' }, { username: 'Hoshinokinya', link: 'https://github.com/hshqwq' }, From 90ee9b662faefe54a17d693cc50af5430d79f573 Mon Sep 17 00:00:00 2001 From: Mahiru Date: Thu, 23 Nov 2023 21:43:47 +0800 Subject: [PATCH 11/13] Update releasenote.md --- releasenote.md | 46 +++++++++++++++++++++++----------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/releasenote.md b/releasenote.md index 0997384d0..2736f0597 100644 --- a/releasenote.md +++ b/releasenote.md @@ -8,19 +8,19 @@ #### 新功能 -文本框主题选择 +可以获取来自用户的输入 -视频禁止跳过的选项 +可以在对话中使用注音 -变量插值 +返回标题页面添加确认弹窗 -Live2D 的表情和动作设置 +添加德语和繁体中文的 UI 翻译 #### 修复 立绘或背景变换没有正确同步的异常 -其他已知问题 +Live2D 表情和动作设置的异常 ## Release Notes @@ -33,19 +33,19 @@ Live2D 的表情和动作设置 #### New Features -Textbox theme selection +Can get input from the user -Option to prohibit skipping videos +Can use phonetic annotations in dialogues -Variable interpolation +Added confirmation pop-up for returning to the title page -Live2D expression and motion settings +Added UI translations for German and Traditional Chinese #### Fixes -The issue where the standing picture or background transformation was not correctly synchronized +Abnormality where character or background transitions were not properly synchronized -Other known issues +Anomalies in Live2D expressions and motion settings @@ -59,19 +59,19 @@ Other known issues #### 新機能 -テキストボックスのテーマ選択 +ユーザーからの入力を取得できます -ビデオのスキップ禁止オプション +対話で注音を使用できます -変数の補間 +タイトルページへの戻りに確認ポップアップを追加 -Live2Dの表情とモーションの設定 +ドイツ語と繁体字中国語のUI翻訳を追加 #### 修正 -立ち絵や背景の変形が正しく同期されなかった問題 +立ち絵や背景の遷移が正しく同期されていない異常 -その他の既知の問題 +Live2Dの表情と動作設定の異常 @@ -85,17 +85,17 @@ Live2Dの表情とモーションの設定 #### Nouvelles fonctionnalités -Sélection du thème de la boîte de texte +Peut obtenir des entrées de l'utilisateur -Option pour interdire le saut des vidéos +Peut utiliser des annotations phonétiques dans les dialogues -Interpolation des variables +Ajout d'une pop-up de confirmation pour le retour à la page de titre -Paramètres d'expression et de mouvement Live2D +Ajout de traductions de l'UI en allemand et en chinois traditionnel #### Corrections -Le problème où la transformation de l'image debout ou de l'arrière-plan n'était pas correctement synchronisée +Anomalie où les transitions de personnages ou d'arrière-plan n'étaient pas correctement synchronisées -Autres problèmes connus +Anomalies dans les expressions et les paramètres de mouvement Live2D From ccef5b7c01ac0cb8b8ef45bc998bc8d9a7c0beeb Mon Sep 17 00:00:00 2001 From: Mahiru Date: Thu, 23 Nov 2023 21:49:42 +0800 Subject: [PATCH 12/13] update parser --- packages/parser/package.json | 2 +- packages/parser/src/interface/sceneInterface.ts | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/parser/package.json b/packages/parser/package.json index f59938abd..798257e49 100644 --- a/packages/parser/package.json +++ b/packages/parser/package.json @@ -1,6 +1,6 @@ { "name": "webgal-parser", - "version": "4.4.5-fix2", + "version": "4.4.7", "description": "WebGAL script parser", "scripts": { "test": "vitest", diff --git a/packages/parser/src/interface/sceneInterface.ts b/packages/parser/src/interface/sceneInterface.ts index 648c79726..dc77aceaf 100644 --- a/packages/parser/src/interface/sceneInterface.ts +++ b/packages/parser/src/interface/sceneInterface.ts @@ -36,6 +36,7 @@ export enum commandType { comment, setTransform, setTransition, + getUserInput } /** From 13934eb85fe1f72d06e0d9cf460ad0f01728e68e Mon Sep 17 00:00:00 2001 From: Mahiru Date: Thu, 23 Nov 2023 23:20:08 +0800 Subject: [PATCH 13/13] fix: user input initial props --- .../webgal/src/Core/gameScripts/getUserInput/index.tsx | 4 ++-- yarn.lock | 10 ++++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/packages/webgal/src/Core/gameScripts/getUserInput/index.tsx b/packages/webgal/src/Core/gameScripts/getUserInput/index.tsx index 1a0bcfb32..3f94e688e 100644 --- a/packages/webgal/src/Core/gameScripts/getUserInput/index.tsx +++ b/packages/webgal/src/Core/gameScripts/getUserInput/index.tsx @@ -21,9 +21,9 @@ import { setStageVar } from '@/store/stageReducer'; export const getUserInput = (sentence: ISentence): IPerform => { const varKey = sentence.content.toString().trim(); const titleFromArgs = getSentenceArgByKey(sentence, 'title'); - const title = titleFromArgs ?? 'Please Input'; + const title = (titleFromArgs === 0 ? 'Please Input' : titleFromArgs) ?? 'Please Input'; const buttonTextFromArgs = getSentenceArgByKey(sentence, 'buttonText'); - const buttonText = buttonTextFromArgs ?? 'OK'; + const buttonText = (buttonTextFromArgs === 0 ? 'OK' : buttonTextFromArgs) ?? 'OK'; const fontFamily = webgalStore.getState().userData.optionData.textboxFont; const font = fontFamily === textFont.song ? '"思源宋体", serif' : '"WebgalUI", serif'; const { playSeEnterChoose, playSeClickChoose } = useSEByWebgalStore(); diff --git a/yarn.lock b/yarn.lock index 09e8cc9af..1cf14f78f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5359,6 +5359,16 @@ void-elements@3.1.0: resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-3.1.0.tgz#614f7fbf8d801f0bb5f0661f5b2f5785750e4f09" integrity sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w== +webgal-parser@4.4.5-fix2: + version "4.4.5-fix2" + resolved "https://registry.yarnpkg.com/webgal-parser/-/webgal-parser-4.4.5-fix2.tgz#4a77cf0c2b8a2be0e73813ff8e77dc2cd664e62b" + integrity sha512-O/8HW75ExANS/rbgu7TF3Snml7D/8gWWKKfnrpuasnUINWHIWhfcyLMjz8vK8nm9/7LmA0Epg1yJ1RQrs3Txew== + dependencies: + chevrotain "^10.5.0" + cloudlogjs "^1.0.11" + lodash "^4.17.21" + tsx "^3.12.7" + webidl-conversions@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871"