From 0f2b5d319d0b2cab7831d8822b03f582da3f79e9 Mon Sep 17 00:00:00 2001 From: Izzy Chen Date: Tue, 8 Jun 2021 10:36:21 +0800 Subject: [PATCH] feat: allow custome schema component (#320) --- packages/loader/src/scene-loader/AbilityManager.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/loader/src/scene-loader/AbilityManager.ts b/packages/loader/src/scene-loader/AbilityManager.ts index 411adc0435..90522e3c07 100644 --- a/packages/loader/src/scene-loader/AbilityManager.ts +++ b/packages/loader/src/scene-loader/AbilityManager.ts @@ -72,6 +72,12 @@ export class AbilityManager { return { id, key, value }; } + public addRuntimeComponent(componentId: string, component: Component) { + (component as any).id = componentId; + this.abilityMap[componentId] = component; + return component; + } + public get(id: string): Component { return this.abilityMap[id]; } @@ -93,7 +99,7 @@ export class AbilityManager { const constructor = Parser._components["o3"][type]; if (!constructor) { - throw new Error(`${type} is not defined`); + console.warn(`${type} is not defined`); } return constructor; }