@esengine/ecs-framework 2.1.37 → 2.1.43

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @esengine/ecs-framework v2.1.37
2
+ * @esengine/ecs-framework v2.1.43
3
3
  * TypeScript definitions
4
4
  */
5
5
  /**
@@ -3978,7 +3978,6 @@ declare abstract class EntitySystem implements ISystemBase {
3978
3978
  private _initialized;
3979
3979
  private _matcher;
3980
3980
  private _trackedEntities;
3981
- private _lastQueryResult;
3982
3981
  /**
3983
3982
  * 获取系统处理的实体列表(动态查询)
3984
3983
  */
@@ -4075,7 +4074,7 @@ declare abstract class EntitySystem implements ISystemBase {
4075
4074
  *
4076
4075
  * @param entities 要处理的实体列表
4077
4076
  */
4078
- protected process(entities: Entity[]): void;
4077
+ protected process(_entities: Entity[]): void;
4079
4078
  /**
4080
4079
  * 后期处理实体列表
4081
4080
  *
@@ -4083,7 +4082,7 @@ declare abstract class EntitySystem implements ISystemBase {
4083
4082
  *
4084
4083
  * @param entities 要处理的实体列表
4085
4084
  */
4086
- protected lateProcess(entities: Entity[]): void;
4085
+ protected lateProcess(_entities: Entity[]): void;
4087
4086
  /**
4088
4087
  * 系统处理完毕后调用
4089
4088
  *
@@ -5361,6 +5360,24 @@ declare class Emitter<T, TContext = unknown> {
5361
5360
  * @param handler 事件函数
5362
5361
  */
5363
5362
  hasObserver(eventType: T, handler: Function): boolean;
5363
+ /**
5364
+ * 移除指定事件类型的所有监听器
5365
+ * @param eventType 事件类型
5366
+ */
5367
+ removeAllObservers(eventType?: T): void;
5368
+ /**
5369
+ * 释放所有资源,清理所有监听器
5370
+ */
5371
+ dispose(): void;
5372
+ /**
5373
+ * 获取事件类型数量
5374
+ */
5375
+ getEventTypeCount(): number;
5376
+ /**
5377
+ * 获取指定事件类型的监听器数量
5378
+ * @param eventType 事件类型
5379
+ */
5380
+ getObserverCount(eventType: T): number;
5364
5381
  }
5365
5382
 
5366
5383
  /**
@@ -5767,6 +5784,74 @@ declare class ComponentTypeManager {
5767
5784
  get registeredTypeCount(): number;
5768
5785
  }
5769
5786
 
5787
+ /**
5788
+ * 存储组件类型名称的Symbol键
5789
+ */
5790
+ declare const COMPONENT_TYPE_NAME: unique symbol;
5791
+ /**
5792
+ * 存储系统类型名称的Symbol键
5793
+ */
5794
+ declare const SYSTEM_TYPE_NAME: unique symbol;
5795
+ /**
5796
+ * 组件类型装饰器
5797
+ * 用于为组件类指定固定的类型名称,避免在代码混淆后失效
5798
+ *
5799
+ * @param typeName 组件类型名称
5800
+ * @example
5801
+ * ```typescript
5802
+ * @ECSComponent('Position')
5803
+ * class PositionComponent extends Component {
5804
+ * x: number = 0;
5805
+ * y: number = 0;
5806
+ * }
5807
+ * ```
5808
+ */
5809
+ declare function ECSComponent(typeName: string): <T extends new (...args: any[]) => Component>(target: T) => T;
5810
+ /**
5811
+ * 系统类型装饰器
5812
+ * 用于为系统类指定固定的类型名称,避免在代码混淆后失效
5813
+ *
5814
+ * @param typeName 系统类型名称
5815
+ * @example
5816
+ * ```typescript
5817
+ * @ECSSystem('Movement')
5818
+ * class MovementSystem extends EntitySystem {
5819
+ * protected process(entities: Entity[]): void {
5820
+ * // 系统逻辑
5821
+ * }
5822
+ * }
5823
+ * ```
5824
+ */
5825
+ declare function ECSSystem(typeName: string): <T extends new (...args: any[]) => EntitySystem>(target: T) => T;
5826
+ /**
5827
+ * 获取组件类型的名称,优先使用装饰器指定的名称
5828
+ *
5829
+ * @param componentType 组件构造函数
5830
+ * @returns 组件类型名称
5831
+ */
5832
+ declare function getComponentTypeName<T extends Component>(componentType: new (...args: any[]) => T): string;
5833
+ /**
5834
+ * 获取系统类型的名称,优先使用装饰器指定的名称
5835
+ *
5836
+ * @param systemType 系统构造函数
5837
+ * @returns 系统类型名称
5838
+ */
5839
+ declare function getSystemTypeName<T extends EntitySystem>(systemType: new (...args: any[]) => T): string;
5840
+ /**
5841
+ * 从组件实例获取类型名称
5842
+ *
5843
+ * @param component 组件实例
5844
+ * @returns 组件类型名称
5845
+ */
5846
+ declare function getComponentInstanceTypeName(component: Component): string;
5847
+ /**
5848
+ * 从系统实例获取类型名称
5849
+ *
5850
+ * @param system 系统实例
5851
+ * @returns 系统类型名称
5852
+ */
5853
+ declare function getSystemInstanceTypeName(system: EntitySystem): string;
5854
+
5770
5855
  /**
5771
5856
  * 实体查询构建器
5772
5857
  *
@@ -6497,5 +6582,5 @@ declare class Time {
6497
6582
  static checkEvery(interval: number, lastTime: number): boolean;
6498
6583
  }
6499
6584
 
6500
- export { ArchetypeSystem, AsyncEventHandler, BigIntFactory, BitmapComponentIndex, Bits, Component, ComponentDataCollector, ComponentIndexManager, ComponentPool, ComponentPoolManager, ComponentRegistry, ComponentStorage, ComponentTypeManager, ConsoleLogger, Core, DebugManager, DirtyFlag, DirtyTrackingSystem, ECSEventType, ECSFluentAPI, EVENT_TYPES, Emitter, EnableSoA, Entity, EntityDataCollector, EntityList, EntityManager, EntityProcessorList, EntityQueryBuilder, EntitySystem, EventBus, EventHandler, EventPriority, EventTypeValidator, Float32, Float64, FuncPack, GlobalEventBus, GlobalManager, HashComponentIndex, HighPrecision, IdentifierPool, IndexType, Int32, IntervalSystem, LogLevel, Logger, LoggerManager, Matcher, NumberExtension, PassiveSystem, PerformanceDataCollector, PerformanceMonitor, PerformanceWarningType, Pool, PoolManager, ProcessingSystem, QuerySystem, Scene, SceneDataCollector, SerializeMap, SoAStorage, SystemDataCollector, Time, Timer, TimerManager, TypeSafeEventSystem, TypeUtils, WebSocketManager, createECSAPI, createLogger, setGlobalLogLevel };
6585
+ export { ArchetypeSystem, AsyncEventHandler, BigIntFactory, BitmapComponentIndex, Bits, COMPONENT_TYPE_NAME, Component, ComponentDataCollector, ComponentIndexManager, ComponentPool, ComponentPoolManager, ComponentRegistry, ComponentStorage, ComponentTypeManager, ConsoleLogger, Core, DebugManager, DirtyFlag, DirtyTrackingSystem, ECSComponent, ECSEventType, ECSFluentAPI, ECSSystem, EVENT_TYPES, Emitter, EnableSoA, Entity, EntityDataCollector, EntityList, EntityManager, EntityProcessorList, EntityQueryBuilder, EntitySystem, EventBus, EventHandler, EventPriority, EventTypeValidator, Float32, Float64, FuncPack, GlobalEventBus, GlobalManager, HashComponentIndex, HighPrecision, IdentifierPool, IndexType, Int32, IntervalSystem, LogLevel, Logger, LoggerManager, Matcher, NumberExtension, PassiveSystem, PerformanceDataCollector, PerformanceMonitor, PerformanceWarningType, Pool, PoolManager, ProcessingSystem, QuerySystem, SYSTEM_TYPE_NAME, Scene, SceneDataCollector, SerializeMap, SoAStorage, SystemDataCollector, Time, Timer, TimerManager, TypeSafeEventSystem, TypeUtils, WebSocketManager, createECSAPI, createLogger, getComponentInstanceTypeName, getComponentTypeName, getSystemInstanceTypeName, getSystemTypeName, setGlobalLogLevel };
6501
6586
  export type { Archetype, ArchetypeQueryResult, ComponentType$1 as ComponentType, DirtyData, DirtyListener, EventListenerConfig, EventStats, IComponent, IComponentDebugData, IComponentEventData, ICoreConfig, IECSDebugConfig, IECSDebugData, IEntityDebugData, IEntityEventData, IEntityHierarchyNode, IEventBus, IEventData, IEventListenerConfig, IEventStats, ILogger, IPerformanceDebugData, IPerformanceEventData, IPoolable, IScene, ISceneConfig, ISceneDebugData, ISceneEventData, ISceneFactory, ISystemBase, ISystemDebugData, ISystemEventData, ITimer, LoggerConfig, PerformanceData, PerformanceStats, PerformanceThresholds, PerformanceWarning, PoolStats };