From ed0b95b1c4ab0c48b301a8bf1f6e93794e823359 Mon Sep 17 00:00:00 2001 From: unanmed <1319491857@qq.com> Date: Fri, 18 Sep 2026 20:36:03 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20CoreState=20=E9=85=8D=E7=BD=AE=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=20loadStarter?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages-user/client-modules/src/client.ts | 5 ++++- packages-user/data-state/src/ins.ts | 5 ++++- packages-user/data-state/src/types.ts | 10 ++++++++-- 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/packages-user/client-modules/src/client.ts b/packages-user/client-modules/src/client.ts index e5388b5..6c485b1 100644 --- a/packages-user/client-modules/src/client.ts +++ b/packages-user/client-modules/src/client.ts @@ -42,6 +42,7 @@ import { } from './shared'; import { loading } from '@user/data-base'; import { fallbackLoad } from './fallback/load'; +import { WebLoadStarter } from '@motajs/loader'; export class ClientCore extends CoreState implements IClientCore { // Layer 4 渲染基础层 @@ -63,7 +64,9 @@ export class ClientCore extends CoreState implements IClientCore { readonly bgmPlayer: IBGMPlayer; constructor() { - super({}); + super({ + loadStarter: new WebLoadStarter() + }); //#region Layer 4 diff --git a/packages-user/data-state/src/ins.ts b/packages-user/data-state/src/ins.ts index 46053b5..69e1955 100644 --- a/packages-user/data-state/src/ins.ts +++ b/packages-user/data-state/src/ins.ts @@ -1,3 +1,4 @@ +import { WebLoadStarter } from '@motajs/loader'; import { CoreState } from './core'; // TODO: 逐渐弱化 CoreState 的单例概念,每个接口都通过参数传入 ICoreState 对象 @@ -7,4 +8,6 @@ import { CoreState } from './core'; * 此对象是数据端状态,本身不负责任何渲染操作,仅会向渲染端发送数据让渲染端渲染,不要把渲染操作直接放到此对象上, * 否则可能导致录像验证失败。 */ -export const state = new CoreState({}); +export const state = new CoreState({ + loadStarter: new WebLoadStarter() +}); diff --git a/packages-user/data-state/src/types.ts b/packages-user/data-state/src/types.ts index 37a4010..e2bb398 100644 --- a/packages-user/data-state/src/types.ts +++ b/packages-user/data-state/src/types.ts @@ -1,9 +1,15 @@ import { IMotaDataLoader, IStateBase } from '@user/data-base'; -import { ILoadManager } from '@motajs/loader'; +import { ILoadManager, ILoadTaskStarter } from '@motajs/loader'; import { IStateSystem } from '@user/data-system'; import { ISaveableContent } from '@user/data-common'; -export interface ICoreStateConfig {} +export interface ICoreStateConfig { + /** + * 加载启动器,用于适配不同加载环境。 + * 例如网页端会使用 Web 加载器,而 node 端会使用专门的 node 加载器 + */ + readonly loadStarter: ILoadTaskStarter; +} export interface ISaveableExecutor { /**