From 32184d23a2ba7c8005db27af78c5ac4639c6d565 Mon Sep 17 00:00:00 2001 From: unanmed <1319491857@qq.com> Date: Mon, 23 Jun 2025 17:11:21 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=AF=BB=E6=A1=A3=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../client-modules/src/render/elements/hero.ts | 4 ++++ packages-user/client-modules/src/render/ui/save.tsx | 8 +++++--- packages-user/client-modules/src/render/ui/title.tsx | 10 ++++++++-- public/libs/control.js | 2 +- 4 files changed, 18 insertions(+), 6 deletions(-) diff --git a/packages-user/client-modules/src/render/elements/hero.ts b/packages-user/client-modules/src/render/elements/hero.ts index 0149573..eedc94e 100644 --- a/packages-user/client-modules/src/render/elements/hero.ts +++ b/packages-user/client-modules/src/render/elements/hero.ts @@ -407,6 +407,10 @@ export class HeroRenderer this.animateTick(time); this.moveTick(time); }); + if (core.status.hero) { + const image = core.status.hero.image; + this.setImage(core.material.images.images[image]); + } } onDestroy(layer: Layer): void { diff --git a/packages-user/client-modules/src/render/ui/save.tsx b/packages-user/client-modules/src/render/ui/save.tsx index a5be64c..ba3d6f3 100644 --- a/packages-user/client-modules/src/render/ui/save.tsx +++ b/packages-user/client-modules/src/render/ui/save.tsx @@ -7,7 +7,7 @@ import { SetupComponentOptions, UIComponentProps } from '@motajs/system-ui'; -import { defineComponent, ref, computed, watch } from 'vue'; +import { defineComponent, ref, computed, watch, nextTick } from 'vue'; import { Page, PageExpose } from '../components'; import { useKey } from '../use'; import { MAP_WIDTH, MAP_HEIGHT } from '../shared'; @@ -423,8 +423,9 @@ export async function saveSave( } }; const index = await selectSave(controller, loc, validate, props); - if (index === -2) return; + if (index === -2) return false; core.doSL(index + 1, 'save'); + return true; } export async function saveLoad( @@ -436,10 +437,11 @@ export async function saveLoad( return { message: '无效的存档!', valid: exist }; }; const index = await selectSave(controller, loc, validate, props); - if (index === -2) return; + if (index === -2) return false; if (index === -1) { core.doSL('autosave', 'load'); } else { core.doSL(index + 1, 'load'); } + return true; } diff --git a/packages-user/client-modules/src/render/ui/title.tsx b/packages-user/client-modules/src/render/ui/title.tsx index 46aba47..63ac693 100644 --- a/packages-user/client-modules/src/render/ui/title.tsx +++ b/packages-user/client-modules/src/render/ui/title.tsx @@ -7,6 +7,7 @@ import { import { defineComponent, nextTick, onMounted, ref } from 'vue'; import { MAIN_HEIGHT, MAIN_WIDTH } from '../shared'; import { + ElementLocator, IActionEvent, MotaOffscreenCanvas2D, Shader, @@ -169,8 +170,13 @@ export const GameTitle = defineComponent(props => { buttonsAlpha.set(1); }; - const loadGame = () => { - saveLoad(props.controller, [0, 0, MAIN_WIDTH, MAIN_HEIGHT]); + const loadGame = async () => { + const loc: ElementLocator = [0, 0, MAIN_WIDTH, MAIN_HEIGHT]; + const success = await saveLoad(props.controller, loc); + if (success) { + props.controller.close(props.instance); + props.controller.open(MainSceneUI, {}); + } }; const replay = () => { diff --git a/public/libs/control.js b/public/libs/control.js index 241a09a..8156f54 100644 --- a/public/libs/control.js +++ b/public/libs/control.js @@ -2147,7 +2147,7 @@ control.prototype._doSL_load_afterGet = function (id, data) { Mota.r(() => { Mota.require('@user/legacy-plugin-client').end(false); }); - core.ui.closePanel(); + // core.ui.closePanel(); core.loadData(data, function () { core.removeFlag('__fromLoad__'); core.drawTip('读档成功');