diff --git a/package-lock.json b/package-lock.json index a616b1a3..22e751e8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11400,7 +11400,7 @@ }, "packages/core": { "name": "@esengine/ecs-framework", - "version": "2.1.34", + "version": "2.1.35", "license": "MIT", "devDependencies": { "@rollup/plugin-commonjs": "^28.0.3", diff --git a/packages/core/package.json b/packages/core/package.json index 3535068c..ea72b9b3 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@esengine/ecs-framework", - "version": "2.1.34", + "version": "2.1.35", "description": "用于Laya、Cocos Creator等JavaScript游戏引擎的高性能ECS框架", "type": "module", "main": "bin/index.js", diff --git a/packages/core/src/ECS/Core/ComponentStorage.ts b/packages/core/src/ECS/Core/ComponentStorage.ts index 70164316..0a5b41f7 100644 --- a/packages/core/src/ECS/Core/ComponentStorage.ts +++ b/packages/core/src/ECS/Core/ComponentStorage.ts @@ -8,8 +8,9 @@ export { EnableSoA, HighPrecision, Float64, Int32, SerializeMap, SerializeSet, S /** * 组件类型定义 + * 支持任意构造函数签名,提供更好的类型安全性 */ -export type ComponentType = new (...args: unknown[]) => T; +export type ComponentType = new (...args: any[]) => T; /** * 组件注册表 diff --git a/packages/core/src/ECS/Entity.ts b/packages/core/src/ECS/Entity.ts index 2ddc0c39..8d077db9 100644 --- a/packages/core/src/ECS/Entity.ts +++ b/packages/core/src/ECS/Entity.ts @@ -335,7 +335,7 @@ export class Entity { */ public createComponent( componentType: ComponentType, - ...args: unknown[] + ...args: any[] ): T { const component = new componentType(...args); return this.addComponent(component); @@ -508,7 +508,7 @@ export class Entity { */ public getOrCreateComponent( type: ComponentType, - ...args: unknown[] + ...args: any[] ): T { let component = this.getComponent(type); if (!component) { diff --git a/packages/core/src/Types/index.ts b/packages/core/src/Types/index.ts index 892cb1dd..ddbab8b2 100644 --- a/packages/core/src/Types/index.ts +++ b/packages/core/src/Types/index.ts @@ -54,8 +54,9 @@ export interface ISystemBase { * 组件类型定义 * * 用于类型安全的组件操作 + * 支持任意构造函数签名,提供更好的类型安全性 */ -export type ComponentType = new (...args: unknown[]) => T; +export type ComponentType = new (...args: any[]) => T; /** * 事件总线接口