MCPcopy Create free account
hub / github.com/esengine/esengine / createComponent

Method createComponent

packages/core/src/ECS/Entity.ts:414–421  ·  view source on GitHub ↗

* @zh 创建并添加组件 * @en Create and add component * * @param componentType - @zh 组件类型构造函数 @en Component type constructor * @param args - @zh 组件构造函数参数 @en Component constructor arguments * @returns @zh 创建的组件实例 @en Created component instance * * @example * ```typescr

(
        componentType: ComponentType<T>,
        ...args: ConstructorParameters<ComponentType<T>>
    )

Source from the content-addressed store, hash-verified

412 * ```
413 */
414 public createComponent<T extends Component>(
415 componentType: ComponentType<T>,
416 ...args: ConstructorParameters<ComponentType<T>>
417 ): T {
418 // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
419 const component = new componentType(...args);
420 return this.addComponent(component);
421 }
422
423 private addComponentInternal<T extends Component>(component: T): T {
424 const componentType = component.constructor as ComponentType<T>;

Callers 1

getOrCreateComponentMethod · 0.95

Calls 1

addComponentMethod · 0.95

Tested by

no test coverage detected