From c6417f33c20ab5abaecbb0d1b13a2a3e496f0b2b Mon Sep 17 00:00:00 2001 From: Gabriel Diaz Date: Fri, 21 Feb 2025 20:59:10 -0300 Subject: [PATCH] feat: Use the sdkHelpers in the admin-toolkit system --- src/admin-toolkit.ts | 4 +++- src/scene-entrypoint.ts | 1 + src/types.ts | 8 ++++++++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/admin-toolkit.ts b/src/admin-toolkit.ts index 02d7568c..272fdeca 100644 --- a/src/admin-toolkit.ts +++ b/src/admin-toolkit.ts @@ -1,6 +1,6 @@ import { Entity, IEngine, PointerEventsSystem } from '@dcl/ecs' import { ReactBasedUiSystem } from '@dcl/react-ecs' -import { getComponents, IPlayersHelper } from './definitions' +import { getComponents, IPlayersHelper, ISDKHelpers } from './definitions' import { createAdminToolkitUI } from './admin-toolkit-ui' // Create a system to manage the AdminToolkit @@ -8,6 +8,7 @@ export function createAdminToolkitSystem( engine: IEngine, pointerEventsSystem: PointerEventsSystem, reactBasedUiSystem: ReactBasedUiSystem, + sdkHelpers?: ISDKHelpers, playersHelper?: IPlayersHelper, ) { let adminToolkitEntity: Entity | null = null @@ -24,6 +25,7 @@ export function createAdminToolkitSystem( engine, pointerEventsSystem, reactBasedUiSystem, + sdkHelpers, playersHelper, ) } diff --git a/src/scene-entrypoint.ts b/src/scene-entrypoint.ts index e170c42b..3e64640a 100644 --- a/src/scene-entrypoint.ts +++ b/src/scene-entrypoint.ts @@ -79,6 +79,7 @@ export function initAssetPacks( engine, pointerEventsSystem, reactBasedUiSystem, + sdkHelpers, playersHelper, ), ) diff --git a/src/types.ts b/src/types.ts index 70dec44a..3e1a2004 100644 --- a/src/types.ts +++ b/src/types.ts @@ -141,6 +141,10 @@ export type Component = { export type ISDKHelpers = { // SyncEntity helper to create network entities at runtime. syncEntity?: SyncEntitySDK + parentEntity?: ParentEntitySDK + removeParent?: RemoveParentSDK + getParent?: GetParentSDK + getChildren?: GetChildrenSDK } export type SyncEntitySDK = ( @@ -148,6 +152,10 @@ export type SyncEntitySDK = ( componentIds: number[], entityEnumId?: number | undefined, ) => void +export type ParentEntitySDK = (entity: Entity, parent: Entity) => void +export type RemoveParentSDK = (entity: Entity) => void +export type GetParentSDK = (children: Entity) => Entity +export type GetChildrenSDK = (parent: Entity) => Iterable export type IPlayersHelper = { onEnterScene(cb: (player: GetPlayerDataRes) => void): void