Skip to content

Commit e138caf

Browse files
Merge pull request #788 from HardyNLee/feat-set-effect
feat: add set effect debug command
2 parents f6b796f + 28121ec commit e138caf

File tree

2 files changed

+27
-0
lines changed

2 files changed

+27
-0
lines changed

packages/webgal/src/Core/util/syncWithEditor/webSocketFunc.ts

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ import { nextSentence } from '@/Core/controller/gamePlay/nextSentence';
99
import { resetStage } from '@/Core/controller/stage/resetStage';
1010
import { logger } from '@/Core/util/logger';
1111
import { syncWithOrigine } from './syncWithOrigine';
12+
import { stageActions } from '@/store/stageReducer';
13+
import { baseTransform, IEffect } from '@/store/stageInterface';
1214

1315
export const webSocketFunc = () => {
1416
const loc: string = window.location.hostname;
@@ -101,6 +103,29 @@ export const webSocketFunc = () => {
101103
const command = message.message;
102104
webgalStore.dispatch(setFontOptimization(command === 'true'));
103105
}
106+
if (message.command === DebugCommand.SET_EFFECT) {
107+
try {
108+
const effect = JSON.parse(message.message) as IEffect;
109+
const targetEffect = webgalStore.getState().stage.effects.find((e) => e.target === effect.target);
110+
const targetTransform = targetEffect?.transform ? targetEffect.transform : baseTransform;
111+
const newTransform = {
112+
...targetTransform,
113+
...(effect.transform ?? {}),
114+
position: {
115+
...targetTransform.position,
116+
...(effect.transform?.position ?? {}),
117+
},
118+
scale: {
119+
...targetTransform.scale,
120+
...(effect.transform?.scale ?? {}),
121+
},
122+
};
123+
webgalStore.dispatch(stageActions.updateEffect({ target: effect.target, transform: newTransform }));
124+
} catch (e) {
125+
logger.error(`无法设置效果 ${message.message}, ${e}`);
126+
return;
127+
}
128+
}
104129
};
105130
socket.onerror = () => {
106131
logger.info('当前没有连接到 Terre 编辑器');

packages/webgal/src/types/debugProtocol.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ export enum DebugCommand {
1717
TEMP_SCENE,
1818
// 字体优化
1919
FONT_OPTIMIZATION,
20+
// 直接设置效果
21+
SET_EFFECT,
2022
}
2123

2224
export interface IDebugMessage {

0 commit comments

Comments
 (0)