From 6e3effd2c50ad60af767b85ab1fcf54763c88082 Mon Sep 17 00:00:00 2001 From: unanmed <1319491857@qq.com> Date: Tue, 19 Nov 2024 23:21:37 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=BF=BD=E9=80=90=E6=88=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/module/weather/sun.ts | 19 ++++++++++++++++++- src/plugin/chase/chase.ts | 11 +++-------- 2 files changed, 21 insertions(+), 9 deletions(-) diff --git a/src/module/weather/sun.ts b/src/module/weather/sun.ts index f050565..af5c7e8 100644 --- a/src/module/weather/sun.ts +++ b/src/module/weather/sun.ts @@ -1,5 +1,8 @@ import { Shader, ShaderProgram } from '@/core/render/shader'; import { IWeather, WeatherController } from './weather'; +import { MotaOffscreenCanvas2D } from '@/core/fx/canvas2d'; +import { GL2Program } from '@/core/render/gl2'; +import { Transform } from '@/core/render/transform'; export class SunWeather implements IWeather { static id: string = 'sun'; @@ -14,5 +17,19 @@ export class SunWeather implements IWeather { WeatherController.register(SunWeather); class SunShader extends Shader { - protected override postDraw(gl: WebGL2RenderingContext): void {} + protected preDraw( + canvas: MotaOffscreenCanvas2D, + transform: Transform, + gl: WebGL2RenderingContext, + program: GL2Program + ): boolean { + return true; + } + + protected postDraw( + canvas: MotaOffscreenCanvas2D, + transform: Transform, + gl: WebGL2RenderingContext, + program: GL2Program + ): void {} } diff --git a/src/plugin/chase/chase.ts b/src/plugin/chase/chase.ts index 35b8d18..d1e1826 100644 --- a/src/plugin/chase/chase.ts +++ b/src/plugin/chase/chase.ts @@ -1,5 +1,6 @@ import { MotaOffscreenCanvas2D } from '@/core/fx/canvas2d'; import { CameraAnimation } from '@/core/render/camera'; +import { Container } from '@/core/render/container'; import { LayerGroup } from '@/core/render/preset/layer'; import { MotaRenderer } from '@/core/render/render'; import { Shader } from '@/core/render/shader'; @@ -319,10 +320,8 @@ export class Chase extends EventEmitter { } this.onTimeListener.sort((a, b) => a.time - b.time); const render = MotaRenderer.get('render-main')!; - const mapDraw = render.getElementById('map-draw')!; - render.appendChild(Chase.shader); - mapDraw.remove(); - mapDraw.append(Chase.shader); + const mapDraw = render.getElementById('map-draw') as Container; + Chase.shader.append(mapDraw); this.emit('start'); } @@ -335,11 +334,7 @@ export class Chase extends EventEmitter { this.layer.removeTicker(this.delegation); this.pathSprite?.destroy(); this.heroMove.off('stepEnd', this.onStepEnd); - const render = MotaRenderer.get('render-main')!; - const mapDraw = render.getElementById('map-draw')!; - mapDraw.remove(); Chase.shader.remove(); - mapDraw.append(render); this.emit('end', success); this.removeAllListeners(); }