@esengine/ecs-framework 2.2.21 → 2.3.0
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/bin/Core/DI/Decorators.d.ts +206 -0
- package/bin/Core/DI/Decorators.d.ts.map +1 -0
- package/bin/Core/DI/Decorators.js +253 -0
- package/bin/Core/DI/Decorators.js.map +1 -0
- package/bin/Core/DI/index.d.ts +8 -0
- package/bin/Core/DI/index.d.ts.map +1 -0
- package/bin/Core/DI/index.js +7 -0
- package/bin/Core/DI/index.js.map +1 -0
- package/bin/Core/Plugin.d.ts +112 -0
- package/bin/Core/Plugin.d.ts.map +1 -0
- package/bin/Core/Plugin.js +19 -0
- package/bin/Core/Plugin.js.map +1 -0
- package/bin/Core/PluginManager.d.ts +118 -0
- package/bin/Core/PluginManager.d.ts.map +1 -0
- package/bin/Core/PluginManager.js +229 -0
- package/bin/Core/PluginManager.js.map +1 -0
- package/bin/Core/ServiceContainer.d.ts +221 -0
- package/bin/Core/ServiceContainer.d.ts.map +1 -0
- package/bin/Core/ServiceContainer.js +352 -0
- package/bin/Core/ServiceContainer.js.map +1 -0
- package/bin/Core.d.ts +379 -0
- package/bin/Core.d.ts.map +1 -0
- package/bin/Core.js +553 -0
- package/bin/Core.js.map +1 -0
- package/bin/ECS/Component.d.ts +104 -0
- package/bin/ECS/Component.d.ts.map +1 -0
- package/bin/ECS/Component.js +105 -0
- package/bin/ECS/Component.js.map +1 -0
- package/bin/ECS/Components/HierarchyComponent.d.ts +46 -0
- package/bin/ECS/Components/HierarchyComponent.d.ts.map +1 -0
- package/bin/ECS/Components/HierarchyComponent.js +65 -0
- package/bin/ECS/Components/HierarchyComponent.js.map +1 -0
- package/bin/ECS/Components/index.d.ts +2 -0
- package/bin/ECS/Components/index.d.ts.map +1 -0
- package/bin/ECS/Components/index.js +2 -0
- package/bin/ECS/Components/index.js.map +1 -0
- package/bin/ECS/Core/ArchetypeSystem.d.ts +103 -0
- package/bin/ECS/Core/ArchetypeSystem.d.ts.map +1 -0
- package/bin/ECS/Core/ArchetypeSystem.js +244 -0
- package/bin/ECS/Core/ArchetypeSystem.js.map +1 -0
- package/bin/ECS/Core/CommandBuffer.d.ts +154 -0
- package/bin/ECS/Core/CommandBuffer.d.ts.map +1 -0
- package/bin/ECS/Core/CommandBuffer.js +244 -0
- package/bin/ECS/Core/CommandBuffer.js.map +1 -0
- package/bin/ECS/Core/ComponentPool.d.ts +139 -0
- package/bin/ECS/Core/ComponentPool.d.ts.map +1 -0
- package/bin/ECS/Core/ComponentPool.js +276 -0
- package/bin/ECS/Core/ComponentPool.js.map +1 -0
- package/bin/ECS/Core/ComponentStorage/ComponentRegistry.d.ts +127 -0
- package/bin/ECS/Core/ComponentStorage/ComponentRegistry.d.ts.map +1 -0
- package/bin/ECS/Core/ComponentStorage/ComponentRegistry.js +235 -0
- package/bin/ECS/Core/ComponentStorage/ComponentRegistry.js.map +1 -0
- package/bin/ECS/Core/ComponentStorage.d.ts +185 -0
- package/bin/ECS/Core/ComponentStorage.d.ts.map +1 -0
- package/bin/ECS/Core/ComponentStorage.js +321 -0
- package/bin/ECS/Core/ComponentStorage.js.map +1 -0
- package/bin/ECS/Core/EntityLifecyclePolicy.d.ts +26 -0
- package/bin/ECS/Core/EntityLifecyclePolicy.d.ts.map +1 -0
- package/bin/ECS/Core/EntityLifecyclePolicy.js +2 -0
- package/bin/ECS/Core/EntityLifecyclePolicy.js.map +1 -0
- package/bin/ECS/Core/EventBus.d.ts +210 -0
- package/bin/ECS/Core/EventBus.d.ts.map +1 -0
- package/bin/ECS/Core/EventBus.js +370 -0
- package/bin/ECS/Core/EventBus.js.map +1 -0
- package/bin/ECS/Core/EventSystem.d.ts +225 -0
- package/bin/ECS/Core/EventSystem.d.ts.map +1 -0
- package/bin/ECS/Core/EventSystem.js +448 -0
- package/bin/ECS/Core/EventSystem.js.map +1 -0
- package/bin/ECS/Core/Events/index.d.ts +3 -0
- package/bin/ECS/Core/Events/index.d.ts.map +1 -0
- package/bin/ECS/Core/Events/index.js +3 -0
- package/bin/ECS/Core/Events/index.js.map +1 -0
- package/bin/ECS/Core/FluentAPI/ComponentBuilder.d.ts +35 -0
- package/bin/ECS/Core/FluentAPI/ComponentBuilder.d.ts.map +1 -0
- package/bin/ECS/Core/FluentAPI/ComponentBuilder.js +48 -0
- package/bin/ECS/Core/FluentAPI/ComponentBuilder.js.map +1 -0
- package/bin/ECS/Core/FluentAPI/ECSFluentAPI.d.ts +135 -0
- package/bin/ECS/Core/FluentAPI/ECSFluentAPI.d.ts.map +1 -0
- package/bin/ECS/Core/FluentAPI/ECSFluentAPI.js +166 -0
- package/bin/ECS/Core/FluentAPI/ECSFluentAPI.js.map +1 -0
- package/bin/ECS/Core/FluentAPI/EntityBatchOperator.d.ts +58 -0
- package/bin/ECS/Core/FluentAPI/EntityBatchOperator.d.ts.map +1 -0
- package/bin/ECS/Core/FluentAPI/EntityBatchOperator.js +85 -0
- package/bin/ECS/Core/FluentAPI/EntityBatchOperator.js.map +1 -0
- package/bin/ECS/Core/FluentAPI/EntityBuilder.d.ts +110 -0
- package/bin/ECS/Core/FluentAPI/EntityBuilder.d.ts.map +1 -0
- package/bin/ECS/Core/FluentAPI/EntityBuilder.js +181 -0
- package/bin/ECS/Core/FluentAPI/EntityBuilder.js.map +1 -0
- package/bin/ECS/Core/FluentAPI/SceneBuilder.d.ts +53 -0
- package/bin/ECS/Core/FluentAPI/SceneBuilder.d.ts.map +1 -0
- package/bin/ECS/Core/FluentAPI/SceneBuilder.js +79 -0
- package/bin/ECS/Core/FluentAPI/SceneBuilder.js.map +1 -0
- package/bin/ECS/Core/FluentAPI/index.d.ts +6 -0
- package/bin/ECS/Core/FluentAPI/index.d.ts.map +1 -0
- package/bin/ECS/Core/FluentAPI/index.js +6 -0
- package/bin/ECS/Core/FluentAPI/index.js.map +1 -0
- package/bin/ECS/Core/FluentAPI.d.ts +2 -0
- package/bin/ECS/Core/FluentAPI.d.ts.map +1 -0
- package/bin/ECS/Core/FluentAPI.js +3 -0
- package/bin/ECS/Core/FluentAPI.js.map +1 -0
- package/bin/ECS/Core/Query/TypedQuery.d.ts +214 -0
- package/bin/ECS/Core/Query/TypedQuery.d.ts.map +1 -0
- package/bin/ECS/Core/Query/TypedQuery.js +294 -0
- package/bin/ECS/Core/Query/TypedQuery.js.map +1 -0
- package/bin/ECS/Core/Query/index.d.ts +3 -0
- package/bin/ECS/Core/Query/index.d.ts.map +1 -0
- package/bin/ECS/Core/Query/index.js +3 -0
- package/bin/ECS/Core/Query/index.js.map +1 -0
- package/bin/ECS/Core/QuerySystem.d.ts +458 -0
- package/bin/ECS/Core/QuerySystem.d.ts.map +1 -0
- package/bin/ECS/Core/QuerySystem.js +1069 -0
- package/bin/ECS/Core/QuerySystem.js.map +1 -0
- package/bin/ECS/Core/QueryTypes.d.ts +34 -0
- package/bin/ECS/Core/QueryTypes.d.ts.map +1 -0
- package/bin/ECS/Core/QueryTypes.js +13 -0
- package/bin/ECS/Core/QueryTypes.js.map +1 -0
- package/bin/ECS/Core/ReactiveQuery.d.ts +211 -0
- package/bin/ECS/Core/ReactiveQuery.d.ts.map +1 -0
- package/bin/ECS/Core/ReactiveQuery.js +401 -0
- package/bin/ECS/Core/ReactiveQuery.js.map +1 -0
- package/bin/ECS/Core/ReferenceTracker.d.ts +111 -0
- package/bin/ECS/Core/ReferenceTracker.d.ts.map +1 -0
- package/bin/ECS/Core/ReferenceTracker.js +254 -0
- package/bin/ECS/Core/ReferenceTracker.js.map +1 -0
- package/bin/ECS/Core/SoASerializer.d.ts +28 -0
- package/bin/ECS/Core/SoASerializer.d.ts.map +1 -0
- package/bin/ECS/Core/SoASerializer.js +85 -0
- package/bin/ECS/Core/SoASerializer.js.map +1 -0
- package/bin/ECS/Core/SoAStorage.d.ts +129 -0
- package/bin/ECS/Core/SoAStorage.d.ts.map +1 -0
- package/bin/ECS/Core/SoAStorage.js +685 -0
- package/bin/ECS/Core/SoAStorage.js.map +1 -0
- package/bin/ECS/Core/SoATypeRegistry.d.ts +50 -0
- package/bin/ECS/Core/SoATypeRegistry.d.ts.map +1 -0
- package/bin/ECS/Core/SoATypeRegistry.js +135 -0
- package/bin/ECS/Core/SoATypeRegistry.js.map +1 -0
- package/bin/ECS/Core/Storage/index.d.ts +4 -0
- package/bin/ECS/Core/Storage/index.d.ts.map +1 -0
- package/bin/ECS/Core/Storage/index.js +4 -0
- package/bin/ECS/Core/Storage/index.js.map +1 -0
- package/bin/ECS/Core/StorageDecorators.d.ts +20 -0
- package/bin/ECS/Core/StorageDecorators.d.ts.map +1 -0
- package/bin/ECS/Core/StorageDecorators.js +27 -0
- package/bin/ECS/Core/StorageDecorators.js.map +1 -0
- package/bin/ECS/CoreEvents.d.ts +131 -0
- package/bin/ECS/CoreEvents.d.ts.map +1 -0
- package/bin/ECS/CoreEvents.js +163 -0
- package/bin/ECS/CoreEvents.js.map +1 -0
- package/bin/ECS/Decorators/EntityRefDecorator.d.ts +46 -0
- package/bin/ECS/Decorators/EntityRefDecorator.d.ts.map +1 -0
- package/bin/ECS/Decorators/EntityRefDecorator.js +118 -0
- package/bin/ECS/Decorators/EntityRefDecorator.js.map +1 -0
- package/bin/ECS/Decorators/PropertyDecorator.d.ts +168 -0
- package/bin/ECS/Decorators/PropertyDecorator.d.ts.map +1 -0
- package/bin/ECS/Decorators/PropertyDecorator.js +40 -0
- package/bin/ECS/Decorators/PropertyDecorator.js.map +1 -0
- package/bin/ECS/Decorators/TypeDecorators.d.ts +124 -0
- package/bin/ECS/Decorators/TypeDecorators.d.ts.map +1 -0
- package/bin/ECS/Decorators/TypeDecorators.js +151 -0
- package/bin/ECS/Decorators/TypeDecorators.js.map +1 -0
- package/bin/ECS/Decorators/index.d.ts +7 -0
- package/bin/ECS/Decorators/index.d.ts.map +1 -0
- package/bin/ECS/Decorators/index.js +4 -0
- package/bin/ECS/Decorators/index.js.map +1 -0
- package/bin/ECS/Entity.d.ts +415 -0
- package/bin/ECS/Entity.d.ts.map +1 -0
- package/bin/ECS/Entity.js +683 -0
- package/bin/ECS/Entity.js.map +1 -0
- package/bin/ECS/EntityTags.d.ts +71 -0
- package/bin/ECS/EntityTags.d.ts.map +1 -0
- package/bin/ECS/EntityTags.js +82 -0
- package/bin/ECS/EntityTags.js.map +1 -0
- package/bin/ECS/IScene.d.ts +308 -0
- package/bin/ECS/IScene.d.ts.map +1 -0
- package/bin/ECS/IScene.js +2 -0
- package/bin/ECS/IScene.js.map +1 -0
- package/bin/ECS/Scene.d.ts +799 -0
- package/bin/ECS/Scene.d.ts.map +1 -0
- package/bin/ECS/Scene.js +1203 -0
- package/bin/ECS/Scene.js.map +1 -0
- package/bin/ECS/SceneManager.d.ts +197 -0
- package/bin/ECS/SceneManager.d.ts.map +1 -0
- package/bin/ECS/SceneManager.js +264 -0
- package/bin/ECS/SceneManager.js.map +1 -0
- package/bin/ECS/Serialization/ComponentSerializer.d.ts +106 -0
- package/bin/ECS/Serialization/ComponentSerializer.d.ts.map +1 -0
- package/bin/ECS/Serialization/ComponentSerializer.js +251 -0
- package/bin/ECS/Serialization/ComponentSerializer.js.map +1 -0
- package/bin/ECS/Serialization/EntitySerializer.d.ts +111 -0
- package/bin/ECS/Serialization/EntitySerializer.d.ts.map +1 -0
- package/bin/ECS/Serialization/EntitySerializer.js +155 -0
- package/bin/ECS/Serialization/EntitySerializer.js.map +1 -0
- package/bin/ECS/Serialization/IncrementalSerializer.d.ts +259 -0
- package/bin/ECS/Serialization/IncrementalSerializer.d.ts.map +1 -0
- package/bin/ECS/Serialization/IncrementalSerializer.js +500 -0
- package/bin/ECS/Serialization/IncrementalSerializer.js.map +1 -0
- package/bin/ECS/Serialization/SceneSerializer.d.ts +213 -0
- package/bin/ECS/Serialization/SceneSerializer.d.ts.map +1 -0
- package/bin/ECS/Serialization/SceneSerializer.js +387 -0
- package/bin/ECS/Serialization/SceneSerializer.js.map +1 -0
- package/bin/ECS/Serialization/SerializationDecorators.d.ts +136 -0
- package/bin/ECS/Serialization/SerializationDecorators.d.ts.map +1 -0
- package/bin/ECS/Serialization/SerializationDecorators.js +216 -0
- package/bin/ECS/Serialization/SerializationDecorators.js.map +1 -0
- package/bin/ECS/Serialization/VersionMigration.d.ts +156 -0
- package/bin/ECS/Serialization/VersionMigration.d.ts.map +1 -0
- package/bin/ECS/Serialization/VersionMigration.js +279 -0
- package/bin/ECS/Serialization/VersionMigration.js.map +1 -0
- package/bin/ECS/Serialization/index.d.ts +18 -0
- package/bin/ECS/Serialization/index.d.ts.map +1 -0
- package/bin/ECS/Serialization/index.js +18 -0
- package/bin/ECS/Serialization/index.js.map +1 -0
- package/bin/ECS/Systems/EntityCache.d.ts +114 -0
- package/bin/ECS/Systems/EntityCache.d.ts.map +1 -0
- package/bin/ECS/Systems/EntityCache.js +145 -0
- package/bin/ECS/Systems/EntityCache.js.map +1 -0
- package/bin/ECS/Systems/EntitySystem.d.ts +591 -0
- package/bin/ECS/Systems/EntitySystem.d.ts.map +1 -0
- package/bin/ECS/Systems/EntitySystem.js +1102 -0
- package/bin/ECS/Systems/EntitySystem.js.map +1 -0
- package/bin/ECS/Systems/HierarchySystem.d.ts +155 -0
- package/bin/ECS/Systems/HierarchySystem.d.ts.map +1 -0
- package/bin/ECS/Systems/HierarchySystem.js +498 -0
- package/bin/ECS/Systems/HierarchySystem.js.map +1 -0
- package/bin/ECS/Systems/IntervalSystem.d.ts +33 -0
- package/bin/ECS/Systems/IntervalSystem.d.ts.map +1 -0
- package/bin/ECS/Systems/IntervalSystem.js +50 -0
- package/bin/ECS/Systems/IntervalSystem.js.map +1 -0
- package/bin/ECS/Systems/PassiveSystem.d.ts +17 -0
- package/bin/ECS/Systems/PassiveSystem.d.ts.map +1 -0
- package/bin/ECS/Systems/PassiveSystem.js +19 -0
- package/bin/ECS/Systems/PassiveSystem.js.map +1 -0
- package/bin/ECS/Systems/ProcessingSystem.d.ts +21 -0
- package/bin/ECS/Systems/ProcessingSystem.d.ts.map +1 -0
- package/bin/ECS/Systems/ProcessingSystem.js +20 -0
- package/bin/ECS/Systems/ProcessingSystem.js.map +1 -0
- package/bin/ECS/Systems/WorkerEntitySystem.d.ts +313 -0
- package/bin/ECS/Systems/WorkerEntitySystem.d.ts.map +1 -0
- package/bin/ECS/Systems/WorkerEntitySystem.js +792 -0
- package/bin/ECS/Systems/WorkerEntitySystem.js.map +1 -0
- package/bin/ECS/Systems/index.d.ts +8 -0
- package/bin/ECS/Systems/index.d.ts.map +1 -0
- package/bin/ECS/Systems/index.js +8 -0
- package/bin/ECS/Systems/index.js.map +1 -0
- package/bin/ECS/TypedEntity.d.ts +192 -0
- package/bin/ECS/TypedEntity.d.ts.map +1 -0
- package/bin/ECS/TypedEntity.js +254 -0
- package/bin/ECS/TypedEntity.js.map +1 -0
- package/bin/ECS/Utils/BigIntCompatibility.d.ts +151 -0
- package/bin/ECS/Utils/BigIntCompatibility.d.ts.map +1 -0
- package/bin/ECS/Utils/BigIntCompatibility.js +476 -0
- package/bin/ECS/Utils/BigIntCompatibility.js.map +1 -0
- package/bin/ECS/Utils/BitMaskHashMap.d.ts +28 -0
- package/bin/ECS/Utils/BitMaskHashMap.d.ts.map +1 -0
- package/bin/ECS/Utils/BitMaskHashMap.js +127 -0
- package/bin/ECS/Utils/BitMaskHashMap.js.map +1 -0
- package/bin/ECS/Utils/Bits.d.ts +154 -0
- package/bin/ECS/Utils/Bits.d.ts.map +1 -0
- package/bin/ECS/Utils/Bits.js +331 -0
- package/bin/ECS/Utils/Bits.js.map +1 -0
- package/bin/ECS/Utils/ComponentSparseSet.d.ts +143 -0
- package/bin/ECS/Utils/ComponentSparseSet.d.ts.map +1 -0
- package/bin/ECS/Utils/ComponentSparseSet.js +347 -0
- package/bin/ECS/Utils/ComponentSparseSet.js.map +1 -0
- package/bin/ECS/Utils/EntityList.d.ts +115 -0
- package/bin/ECS/Utils/EntityList.d.ts.map +1 -0
- package/bin/ECS/Utils/EntityList.js +258 -0
- package/bin/ECS/Utils/EntityList.js.map +1 -0
- package/bin/ECS/Utils/EntityProcessorList.d.ts +56 -0
- package/bin/ECS/Utils/EntityProcessorList.d.ts.map +1 -0
- package/bin/ECS/Utils/EntityProcessorList.js +113 -0
- package/bin/ECS/Utils/EntityProcessorList.js.map +1 -0
- package/bin/ECS/Utils/IdentifierPool.d.ts +203 -0
- package/bin/ECS/Utils/IdentifierPool.d.ts.map +1 -0
- package/bin/ECS/Utils/IdentifierPool.js +325 -0
- package/bin/ECS/Utils/IdentifierPool.js.map +1 -0
- package/bin/ECS/Utils/Matcher.d.ts +171 -0
- package/bin/ECS/Utils/Matcher.d.ts.map +1 -0
- package/bin/ECS/Utils/Matcher.js +293 -0
- package/bin/ECS/Utils/Matcher.js.map +1 -0
- package/bin/ECS/Utils/SparseSet.d.ts +170 -0
- package/bin/ECS/Utils/SparseSet.d.ts.map +1 -0
- package/bin/ECS/Utils/SparseSet.js +280 -0
- package/bin/ECS/Utils/SparseSet.js.map +1 -0
- package/bin/ECS/Utils/index.d.ts +9 -0
- package/bin/ECS/Utils/index.d.ts.map +1 -0
- package/bin/ECS/Utils/index.js +10 -0
- package/bin/ECS/Utils/index.js.map +1 -0
- package/bin/ECS/World.d.ts +238 -0
- package/bin/ECS/World.d.ts.map +1 -0
- package/bin/ECS/World.js +416 -0
- package/bin/ECS/World.js.map +1 -0
- package/bin/ECS/WorldManager.d.ts +224 -0
- package/bin/ECS/WorldManager.d.ts.map +1 -0
- package/bin/ECS/WorldManager.js +365 -0
- package/bin/ECS/WorldManager.js.map +1 -0
- package/bin/ECS/index.d.ts +26 -0
- package/bin/ECS/index.d.ts.map +1 -0
- package/bin/ECS/index.js +21 -0
- package/bin/ECS/index.js.map +1 -0
- package/bin/Platform/IPlatformAdapter.d.ts +169 -0
- package/bin/Platform/IPlatformAdapter.d.ts.map +1 -0
- package/bin/Platform/IPlatformAdapter.js +2 -0
- package/bin/Platform/IPlatformAdapter.js.map +1 -0
- package/bin/Platform/PlatformDetector.d.ts +56 -0
- package/bin/Platform/PlatformDetector.d.ts.map +1 -0
- package/bin/Platform/PlatformDetector.js +247 -0
- package/bin/Platform/PlatformDetector.js.map +1 -0
- package/bin/Platform/PlatformManager.d.ts +50 -0
- package/bin/Platform/PlatformManager.d.ts.map +1 -0
- package/bin/Platform/PlatformManager.js +114 -0
- package/bin/Platform/PlatformManager.js.map +1 -0
- package/bin/Platform/index.d.ts +19 -0
- package/bin/Platform/index.d.ts.map +1 -0
- package/bin/Platform/index.js +29 -0
- package/bin/Platform/index.js.map +1 -0
- package/bin/Plugins/DebugPlugin.d.ts +156 -0
- package/bin/Plugins/DebugPlugin.d.ts.map +1 -0
- package/bin/Plugins/DebugPlugin.js +248 -0
- package/bin/Plugins/DebugPlugin.js.map +1 -0
- package/bin/Plugins/index.d.ts +2 -0
- package/bin/Plugins/index.d.ts.map +1 -0
- package/bin/Plugins/index.js +2 -0
- package/bin/Plugins/index.js.map +1 -0
- package/bin/Types/IUpdatable.d.ts +18 -0
- package/bin/Types/IUpdatable.d.ts.map +1 -0
- package/bin/Types/IUpdatable.js +7 -0
- package/bin/Types/IUpdatable.js.map +1 -0
- package/bin/Types/TypeHelpers.d.ts +238 -0
- package/bin/Types/TypeHelpers.d.ts.map +1 -0
- package/bin/Types/TypeHelpers.js +19 -0
- package/bin/Types/TypeHelpers.js.map +1 -0
- package/bin/Types/index.d.ts +466 -0
- package/bin/Types/index.d.ts.map +1 -0
- package/bin/Types/index.js +7 -0
- package/bin/Types/index.js.map +1 -0
- package/bin/Utils/BinarySerializer.d.ts +23 -0
- package/bin/Utils/BinarySerializer.d.ts.map +1 -0
- package/bin/Utils/BinarySerializer.js +100 -0
- package/bin/Utils/BinarySerializer.js.map +1 -0
- package/bin/Utils/Debug/AdvancedProfilerCollector.d.ts +153 -0
- package/bin/Utils/Debug/AdvancedProfilerCollector.d.ts.map +1 -0
- package/bin/Utils/Debug/AdvancedProfilerCollector.js +406 -0
- package/bin/Utils/Debug/AdvancedProfilerCollector.js.map +1 -0
- package/bin/Utils/Debug/ComponentDataCollector.d.ts +32 -0
- package/bin/Utils/Debug/ComponentDataCollector.d.ts.map +1 -0
- package/bin/Utils/Debug/ComponentDataCollector.js +250 -0
- package/bin/Utils/Debug/ComponentDataCollector.js.map +1 -0
- package/bin/Utils/Debug/DebugConfigService.d.ts +16 -0
- package/bin/Utils/Debug/DebugConfigService.d.ts.map +1 -0
- package/bin/Utils/Debug/DebugConfigService.js +42 -0
- package/bin/Utils/Debug/DebugConfigService.js.map +1 -0
- package/bin/Utils/Debug/DebugManager.d.ts +131 -0
- package/bin/Utils/Debug/DebugManager.d.ts.map +1 -0
- package/bin/Utils/Debug/DebugManager.js +848 -0
- package/bin/Utils/Debug/DebugManager.js.map +1 -0
- package/bin/Utils/Debug/EntityDataCollector.d.ts +115 -0
- package/bin/Utils/Debug/EntityDataCollector.d.ts.map +1 -0
- package/bin/Utils/Debug/EntityDataCollector.js +870 -0
- package/bin/Utils/Debug/EntityDataCollector.js.map +1 -0
- package/bin/Utils/Debug/PerformanceDataCollector.d.ts +31 -0
- package/bin/Utils/Debug/PerformanceDataCollector.d.ts.map +1 -0
- package/bin/Utils/Debug/PerformanceDataCollector.js +203 -0
- package/bin/Utils/Debug/PerformanceDataCollector.js.map +1 -0
- package/bin/Utils/Debug/SceneDataCollector.d.ts +18 -0
- package/bin/Utils/Debug/SceneDataCollector.d.ts.map +1 -0
- package/bin/Utils/Debug/SceneDataCollector.js +43 -0
- package/bin/Utils/Debug/SceneDataCollector.js.map +1 -0
- package/bin/Utils/Debug/SystemDataCollector.d.ts +14 -0
- package/bin/Utils/Debug/SystemDataCollector.d.ts.map +1 -0
- package/bin/Utils/Debug/SystemDataCollector.js +60 -0
- package/bin/Utils/Debug/SystemDataCollector.js.map +1 -0
- package/bin/Utils/Debug/WebSocketManager.d.ts +54 -0
- package/bin/Utils/Debug/WebSocketManager.d.ts.map +1 -0
- package/bin/Utils/Debug/WebSocketManager.js +141 -0
- package/bin/Utils/Debug/WebSocketManager.js.map +1 -0
- package/bin/Utils/Debug/index.d.ts +11 -0
- package/bin/Utils/Debug/index.d.ts.map +1 -0
- package/bin/Utils/Debug/index.js +10 -0
- package/bin/Utils/Debug/index.js.map +1 -0
- package/bin/Utils/Emitter.d.ts +61 -0
- package/bin/Utils/Emitter.d.ts.map +1 -0
- package/bin/Utils/Emitter.js +101 -0
- package/bin/Utils/Emitter.js.map +1 -0
- package/bin/Utils/Extensions/NumberExtension.d.ts +13 -0
- package/bin/Utils/Extensions/NumberExtension.d.ts.map +1 -0
- package/bin/Utils/Extensions/NumberExtension.js +17 -0
- package/bin/Utils/Extensions/NumberExtension.js.map +1 -0
- package/bin/Utils/Extensions/TypeUtils.d.ts +13 -0
- package/bin/Utils/Extensions/TypeUtils.d.ts.map +1 -0
- package/bin/Utils/Extensions/TypeUtils.js +15 -0
- package/bin/Utils/Extensions/TypeUtils.js.map +1 -0
- package/bin/Utils/Extensions/index.d.ts +3 -0
- package/bin/Utils/Extensions/index.d.ts.map +1 -0
- package/bin/Utils/Extensions/index.js +4 -0
- package/bin/Utils/Extensions/index.js.map +1 -0
- package/bin/Utils/GlobalManager.d.ts +29 -0
- package/bin/Utils/GlobalManager.d.ts.map +1 -0
- package/bin/Utils/GlobalManager.js +50 -0
- package/bin/Utils/GlobalManager.js.map +1 -0
- package/bin/Utils/Logger/ConsoleLogger.d.ts +74 -0
- package/bin/Utils/Logger/ConsoleLogger.d.ts.map +1 -0
- package/bin/Utils/Logger/ConsoleLogger.js +187 -0
- package/bin/Utils/Logger/ConsoleLogger.js.map +1 -0
- package/bin/Utils/Logger/Constants.d.ts +36 -0
- package/bin/Utils/Logger/Constants.d.ts.map +1 -0
- package/bin/Utils/Logger/Constants.js +40 -0
- package/bin/Utils/Logger/Constants.js.map +1 -0
- package/bin/Utils/Logger/LoggerManager.d.ts +91 -0
- package/bin/Utils/Logger/LoggerManager.d.ts.map +1 -0
- package/bin/Utils/Logger/LoggerManager.js +167 -0
- package/bin/Utils/Logger/LoggerManager.js.map +1 -0
- package/bin/Utils/Logger/Types.d.ts +40 -0
- package/bin/Utils/Logger/Types.d.ts.map +1 -0
- package/bin/Utils/Logger/Types.js +2 -0
- package/bin/Utils/Logger/Types.js.map +1 -0
- package/bin/Utils/Logger/index.d.ts +5 -0
- package/bin/Utils/Logger/index.d.ts.map +1 -0
- package/bin/Utils/Logger/index.js +5 -0
- package/bin/Utils/Logger/index.js.map +1 -0
- package/bin/Utils/PerformanceMonitor.d.ts +196 -0
- package/bin/Utils/PerformanceMonitor.d.ts.map +1 -0
- package/bin/Utils/PerformanceMonitor.js +244 -0
- package/bin/Utils/PerformanceMonitor.js.map +1 -0
- package/bin/Utils/Pool/IPoolable.d.ts +29 -0
- package/bin/Utils/Pool/IPoolable.d.ts.map +1 -0
- package/bin/Utils/Pool/IPoolable.js +2 -0
- package/bin/Utils/Pool/IPoolable.js.map +1 -0
- package/bin/Utils/Pool/Pool.d.ts +109 -0
- package/bin/Utils/Pool/Pool.d.ts.map +1 -0
- package/bin/Utils/Pool/Pool.js +238 -0
- package/bin/Utils/Pool/Pool.js.map +1 -0
- package/bin/Utils/Pool/PoolManager.d.ts +96 -0
- package/bin/Utils/Pool/PoolManager.d.ts.map +1 -0
- package/bin/Utils/Pool/PoolManager.js +199 -0
- package/bin/Utils/Pool/PoolManager.js.map +1 -0
- package/bin/Utils/Pool/index.d.ts +4 -0
- package/bin/Utils/Pool/index.d.ts.map +1 -0
- package/bin/Utils/Pool/index.js +4 -0
- package/bin/Utils/Pool/index.js.map +1 -0
- package/bin/Utils/Profiler/AutoProfiler.d.ts +160 -0
- package/bin/Utils/Profiler/AutoProfiler.d.ts.map +1 -0
- package/bin/Utils/Profiler/AutoProfiler.js +503 -0
- package/bin/Utils/Profiler/AutoProfiler.js.map +1 -0
- package/bin/Utils/Profiler/ProfilerSDK.d.ts +175 -0
- package/bin/Utils/Profiler/ProfilerSDK.d.ts.map +1 -0
- package/bin/Utils/Profiler/ProfilerSDK.js +727 -0
- package/bin/Utils/Profiler/ProfilerSDK.js.map +1 -0
- package/bin/Utils/Profiler/ProfilerTypes.d.ts +218 -0
- package/bin/Utils/Profiler/ProfilerTypes.d.ts.map +1 -0
- package/bin/Utils/Profiler/ProfilerTypes.js +47 -0
- package/bin/Utils/Profiler/ProfilerTypes.js.map +1 -0
- package/bin/Utils/Profiler/index.d.ts +8 -0
- package/bin/Utils/Profiler/index.d.ts.map +1 -0
- package/bin/Utils/Profiler/index.js +7 -0
- package/bin/Utils/Profiler/index.js.map +1 -0
- package/bin/Utils/Time.d.ts +47 -0
- package/bin/Utils/Time.d.ts.map +1 -0
- package/bin/Utils/Time.js +64 -0
- package/bin/Utils/Time.js.map +1 -0
- package/bin/Utils/Timers/ITimer.d.ts +16 -0
- package/bin/Utils/Timers/ITimer.d.ts.map +1 -0
- package/bin/Utils/Timers/ITimer.js +2 -0
- package/bin/Utils/Timers/ITimer.js.map +1 -0
- package/bin/Utils/Timers/Timer.d.ts +30 -0
- package/bin/Utils/Timers/Timer.d.ts.map +1 -0
- package/bin/Utils/Timers/Timer.js +58 -0
- package/bin/Utils/Timers/Timer.js.map +1 -0
- package/bin/Utils/Timers/TimerManager.d.ts +26 -0
- package/bin/Utils/Timers/TimerManager.d.ts.map +1 -0
- package/bin/Utils/Timers/TimerManager.js +48 -0
- package/bin/Utils/Timers/TimerManager.js.map +1 -0
- package/bin/Utils/index.d.ts +11 -0
- package/bin/Utils/index.d.ts.map +1 -0
- package/bin/Utils/index.js +11 -0
- package/bin/Utils/index.js.map +1 -0
- package/bin/index.d.ts +29 -0
- package/bin/index.d.ts.map +1 -0
- package/bin/index.js +36 -0
- package/bin/index.js.map +1 -0
- package/package.json +84 -47
- package/index.cjs +0 -2
- package/index.cjs.map +0 -1
- package/index.d.ts +0 -13129
- package/index.es5.js +0 -4
- package/index.es5.js.map +0 -1
- package/index.mjs +0 -2
- package/index.mjs.map +0 -1
- package/index.umd.js +0 -4
- package/index.umd.js.map +0 -1
|
@@ -0,0 +1,458 @@
|
|
|
1
|
+
import { Entity } from '../Entity';
|
|
2
|
+
import { Component } from '../Component';
|
|
3
|
+
import { ComponentType } from './ComponentStorage';
|
|
4
|
+
import { Archetype } from './ArchetypeSystem';
|
|
5
|
+
import { ReactiveQuery, ReactiveQueryConfig } from './ReactiveQuery';
|
|
6
|
+
import { QueryCondition, QueryConditionType, QueryResult } from './QueryTypes';
|
|
7
|
+
export { QueryCondition, QueryConditionType, QueryResult };
|
|
8
|
+
/**
|
|
9
|
+
* 高性能实体查询系统
|
|
10
|
+
*
|
|
11
|
+
* 提供快速的实体查询功能,支持按组件类型、标签、名称等多种方式查询实体。
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```typescript
|
|
15
|
+
* // 查询所有包含Position和Velocity组件的实体
|
|
16
|
+
* const movingEntities = querySystem.queryAll(PositionComponent, VelocityComponent);
|
|
17
|
+
*
|
|
18
|
+
* // 查询特定标签的实体
|
|
19
|
+
* const playerEntities = querySystem.queryByTag(PLAYER_TAG);
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export declare class QuerySystem {
|
|
23
|
+
private readonly _logger;
|
|
24
|
+
private _entities;
|
|
25
|
+
private _entityIndex;
|
|
26
|
+
private _version;
|
|
27
|
+
private _queryCache;
|
|
28
|
+
private _cacheMaxSize;
|
|
29
|
+
private _cacheTimeout;
|
|
30
|
+
private _componentMaskCache;
|
|
31
|
+
private _archetypeSystem;
|
|
32
|
+
private _queryStats;
|
|
33
|
+
constructor();
|
|
34
|
+
/**
|
|
35
|
+
* 设置实体列表并重建索引
|
|
36
|
+
*
|
|
37
|
+
* 当实体集合发生大规模变化时调用此方法。
|
|
38
|
+
* 系统将重新构建所有索引以确保查询性能。
|
|
39
|
+
*
|
|
40
|
+
* @param entities 新的实体列表
|
|
41
|
+
*/
|
|
42
|
+
setEntities(entities: Entity[]): void;
|
|
43
|
+
/**
|
|
44
|
+
* 添加单个实体到查询系统
|
|
45
|
+
*
|
|
46
|
+
* 将新实体添加到查询系统中,并自动更新相关索引。
|
|
47
|
+
* 为了提高批量添加性能,可以延迟缓存清理。
|
|
48
|
+
*
|
|
49
|
+
* @param entity 要添加的实体
|
|
50
|
+
* @param deferCacheClear 是否延迟缓存清理(用于批量操作)
|
|
51
|
+
*/
|
|
52
|
+
addEntity(entity: Entity, deferCacheClear?: boolean): void;
|
|
53
|
+
/**
|
|
54
|
+
* 批量添加实体
|
|
55
|
+
*
|
|
56
|
+
* 高效地批量添加多个实体,减少缓存清理次数。
|
|
57
|
+
* 使用Set来避免O(n)的重复检查。
|
|
58
|
+
*
|
|
59
|
+
* @param entities 要添加的实体列表
|
|
60
|
+
*/
|
|
61
|
+
addEntities(entities: Entity[]): void;
|
|
62
|
+
/**
|
|
63
|
+
* 批量添加实体(无重复检查版本)
|
|
64
|
+
*
|
|
65
|
+
* 假设所有实体都是新的,跳过重复检查以获得最大性能。
|
|
66
|
+
* 仅在确保没有重复实体时使用。
|
|
67
|
+
*
|
|
68
|
+
* @param entities 要添加的实体列表
|
|
69
|
+
*/
|
|
70
|
+
addEntitiesUnchecked(entities: Entity[]): void;
|
|
71
|
+
/**
|
|
72
|
+
* 从查询系统移除实体
|
|
73
|
+
*
|
|
74
|
+
* 从查询系统中移除指定实体,并清理相关索引。
|
|
75
|
+
*
|
|
76
|
+
* @param entity 要移除的实体
|
|
77
|
+
*/
|
|
78
|
+
removeEntity(entity: Entity): void;
|
|
79
|
+
/**
|
|
80
|
+
* 更新实体在查询系统中的索引
|
|
81
|
+
*
|
|
82
|
+
* 当实体的组件组合发生变化时调用此方法,高效地更新实体在查询系统中的索引。
|
|
83
|
+
*
|
|
84
|
+
* @param entity 要更新的实体
|
|
85
|
+
*/
|
|
86
|
+
updateEntity(entity: Entity): void;
|
|
87
|
+
/**
|
|
88
|
+
* 将实体添加到各种索引中
|
|
89
|
+
*/
|
|
90
|
+
private addEntityToIndexes;
|
|
91
|
+
private createAndSetTagIndex;
|
|
92
|
+
private createAndSetNameIndex;
|
|
93
|
+
/**
|
|
94
|
+
* 从各种索引中移除实体
|
|
95
|
+
*/
|
|
96
|
+
private removeEntityFromIndexes;
|
|
97
|
+
/**
|
|
98
|
+
* 重建所有索引
|
|
99
|
+
*
|
|
100
|
+
* 清空并重新构建所有查询索引。
|
|
101
|
+
* 通常在大量实体变更后调用以确保索引一致性。
|
|
102
|
+
*/
|
|
103
|
+
private rebuildIndexes;
|
|
104
|
+
/**
|
|
105
|
+
* 查询包含所有指定组件的实体
|
|
106
|
+
*
|
|
107
|
+
* 返回同时包含所有指定组件类型的实体列表。
|
|
108
|
+
* 内部使用响应式查询作为智能缓存,自动跟踪实体变化,性能更优。
|
|
109
|
+
*
|
|
110
|
+
* @param componentTypes 要查询的组件类型列表
|
|
111
|
+
* @returns 查询结果,包含匹配的实体和性能信息
|
|
112
|
+
*
|
|
113
|
+
* @example
|
|
114
|
+
* ```typescript
|
|
115
|
+
* // 查询同时具有位置和速度组件的实体
|
|
116
|
+
* const result = querySystem.queryAll(PositionComponent, VelocityComponent);
|
|
117
|
+
* logger.info(`找到 ${result.count} 个移动实体`);
|
|
118
|
+
* ```
|
|
119
|
+
*/
|
|
120
|
+
queryAll(...componentTypes: ComponentType[]): QueryResult;
|
|
121
|
+
/**
|
|
122
|
+
* 查询包含任意指定组件的实体
|
|
123
|
+
*
|
|
124
|
+
* 返回包含任意一个指定组件类型的实体列表。
|
|
125
|
+
* 内部使用响应式查询作为智能缓存,自动跟踪实体变化,性能更优。
|
|
126
|
+
*
|
|
127
|
+
* @param componentTypes 要查询的组件类型列表
|
|
128
|
+
* @returns 查询结果,包含匹配的实体和性能信息
|
|
129
|
+
*
|
|
130
|
+
* @example
|
|
131
|
+
* ```typescript
|
|
132
|
+
* // 查询具有武器或护甲组件的实体
|
|
133
|
+
* const result = querySystem.queryAny(WeaponComponent, ArmorComponent);
|
|
134
|
+
* logger.info(`找到 ${result.count} 个装备实体`);
|
|
135
|
+
* ```
|
|
136
|
+
*/
|
|
137
|
+
queryAny(...componentTypes: ComponentType[]): QueryResult;
|
|
138
|
+
/**
|
|
139
|
+
* 查询不包含任何指定组件的实体
|
|
140
|
+
*
|
|
141
|
+
* 返回不包含任何指定组件类型的实体列表。
|
|
142
|
+
* 内部使用响应式查询作为智能缓存,自动跟踪实体变化,性能更优。
|
|
143
|
+
*
|
|
144
|
+
* @param componentTypes 要排除的组件类型列表
|
|
145
|
+
* @returns 查询结果,包含匹配的实体和性能信息
|
|
146
|
+
*
|
|
147
|
+
* @example
|
|
148
|
+
* ```typescript
|
|
149
|
+
* // 查询不具有AI和玩家控制组件的实体(如静态物体)
|
|
150
|
+
* const result = querySystem.queryNone(AIComponent, PlayerControlComponent);
|
|
151
|
+
* logger.info(`找到 ${result.count} 个静态实体`);
|
|
152
|
+
* ```
|
|
153
|
+
*/
|
|
154
|
+
queryNone(...componentTypes: ComponentType[]): QueryResult;
|
|
155
|
+
/**
|
|
156
|
+
* 按标签查询实体
|
|
157
|
+
*
|
|
158
|
+
* 返回具有指定标签的所有实体。
|
|
159
|
+
* 标签查询使用专用索引,具有很高的查询性能。
|
|
160
|
+
*
|
|
161
|
+
* @param tag 要查询的标签值
|
|
162
|
+
* @returns 查询结果,包含匹配的实体和性能信息
|
|
163
|
+
*
|
|
164
|
+
* @example
|
|
165
|
+
* ```typescript
|
|
166
|
+
* // 查询所有玩家实体
|
|
167
|
+
* const players = querySystem.queryByTag(PLAYER_TAG);
|
|
168
|
+
* ```
|
|
169
|
+
*/
|
|
170
|
+
queryByTag(tag: number): QueryResult;
|
|
171
|
+
/**
|
|
172
|
+
* 按名称查询实体
|
|
173
|
+
*
|
|
174
|
+
* 返回具有指定名称的所有实体。
|
|
175
|
+
* 名称查询使用专用索引,适用于查找特定的命名实体。
|
|
176
|
+
*
|
|
177
|
+
* @param name 要查询的实体名称
|
|
178
|
+
* @returns 查询结果,包含匹配的实体和性能信息
|
|
179
|
+
*
|
|
180
|
+
* @example
|
|
181
|
+
* ```typescript
|
|
182
|
+
* // 查找名为"Player"的实体
|
|
183
|
+
* const player = querySystem.queryByName("Player");
|
|
184
|
+
* ```
|
|
185
|
+
*/
|
|
186
|
+
queryByName(name: string): QueryResult;
|
|
187
|
+
/**
|
|
188
|
+
* 按单个组件类型查询实体
|
|
189
|
+
*
|
|
190
|
+
* 返回包含指定组件类型的所有实体。
|
|
191
|
+
* 这是最基础的查询方法,具有最高的查询性能。
|
|
192
|
+
*
|
|
193
|
+
* @param componentType 要查询的组件类型
|
|
194
|
+
* @returns 查询结果,包含匹配的实体和性能信息
|
|
195
|
+
*
|
|
196
|
+
* @example
|
|
197
|
+
* ```typescript
|
|
198
|
+
* // 查询所有具有位置组件的实体
|
|
199
|
+
* const entitiesWithPosition = querySystem.queryByComponent(PositionComponent);
|
|
200
|
+
* ```
|
|
201
|
+
*/
|
|
202
|
+
queryByComponent<T extends Component>(componentType: ComponentType<T>): QueryResult;
|
|
203
|
+
/**
|
|
204
|
+
* 从缓存获取查询结果
|
|
205
|
+
*/
|
|
206
|
+
private getFromCache;
|
|
207
|
+
/**
|
|
208
|
+
* 添加查询结果到缓存
|
|
209
|
+
*/
|
|
210
|
+
private addToCache;
|
|
211
|
+
/**
|
|
212
|
+
* 清理缓存
|
|
213
|
+
*/
|
|
214
|
+
private cleanupCache;
|
|
215
|
+
/**
|
|
216
|
+
* 清除所有查询缓存
|
|
217
|
+
*/
|
|
218
|
+
private clearQueryCache;
|
|
219
|
+
/**
|
|
220
|
+
* 清除所有响应式查询
|
|
221
|
+
*
|
|
222
|
+
* 销毁所有响应式查询实例并清理索引
|
|
223
|
+
* 通常在setEntities时调用以确保缓存一致性
|
|
224
|
+
*/
|
|
225
|
+
private clearReactiveQueries;
|
|
226
|
+
/**
|
|
227
|
+
* 高效的缓存键生成
|
|
228
|
+
*/
|
|
229
|
+
private generateCacheKey;
|
|
230
|
+
/**
|
|
231
|
+
* 清理查询缓存
|
|
232
|
+
*
|
|
233
|
+
* 用于外部调用清理缓存,通常在批量操作后使用。
|
|
234
|
+
* 注意:此方法也会清理响应式查询缓存
|
|
235
|
+
*/
|
|
236
|
+
clearCache(): void;
|
|
237
|
+
/**
|
|
238
|
+
* 创建响应式查询
|
|
239
|
+
*
|
|
240
|
+
* 响应式查询会自动跟踪实体/组件的变化,并通过事件通知订阅者。
|
|
241
|
+
* 适合需要实时响应实体变化的场景(如UI更新、AI系统等)。
|
|
242
|
+
*
|
|
243
|
+
* @param componentTypes 查询的组件类型列表
|
|
244
|
+
* @param config 可选的查询配置
|
|
245
|
+
* @returns 响应式查询实例
|
|
246
|
+
*
|
|
247
|
+
* @example
|
|
248
|
+
* ```typescript
|
|
249
|
+
* const query = querySystem.createReactiveQuery([Position, Velocity], {
|
|
250
|
+
* enableBatchMode: true,
|
|
251
|
+
* batchDelay: 16
|
|
252
|
+
* });
|
|
253
|
+
*
|
|
254
|
+
* query.subscribe((change) => {
|
|
255
|
+
* if (change.type === ReactiveQueryChangeType.ADDED) {
|
|
256
|
+
* console.log('新实体:', change.entity);
|
|
257
|
+
* }
|
|
258
|
+
* });
|
|
259
|
+
* ```
|
|
260
|
+
*/
|
|
261
|
+
createReactiveQuery(componentTypes: ComponentType[], config?: ReactiveQueryConfig): ReactiveQuery;
|
|
262
|
+
/**
|
|
263
|
+
* 销毁响应式查询
|
|
264
|
+
*
|
|
265
|
+
* 清理查询占用的资源,包括监听器和实体引用。
|
|
266
|
+
* 销毁后的查询不应再被使用。
|
|
267
|
+
*
|
|
268
|
+
* @param query 要销毁的响应式查询
|
|
269
|
+
*
|
|
270
|
+
* @example
|
|
271
|
+
* ```typescript
|
|
272
|
+
* const query = querySystem.createReactiveQuery([Position, Velocity]);
|
|
273
|
+
* // ... 使用查询
|
|
274
|
+
* querySystem.destroyReactiveQuery(query);
|
|
275
|
+
* ```
|
|
276
|
+
*/
|
|
277
|
+
destroyReactiveQuery(query: ReactiveQuery): void;
|
|
278
|
+
/**
|
|
279
|
+
* 创建组件掩码
|
|
280
|
+
*
|
|
281
|
+
* 根据组件类型列表生成对应的位掩码。
|
|
282
|
+
* 使用缓存避免重复计算。
|
|
283
|
+
* 注意:必须使用ComponentRegistry来确保与Entity.componentMask使用相同的bitIndex
|
|
284
|
+
*
|
|
285
|
+
* @param componentTypes 组件类型列表
|
|
286
|
+
* @returns 生成的位掩码
|
|
287
|
+
*/
|
|
288
|
+
private createComponentMask;
|
|
289
|
+
/**
|
|
290
|
+
* 获取当前版本号(用于缓存失效)
|
|
291
|
+
*/
|
|
292
|
+
get version(): number;
|
|
293
|
+
/**
|
|
294
|
+
* 获取所有实体
|
|
295
|
+
*/
|
|
296
|
+
getAllEntities(): readonly Entity[];
|
|
297
|
+
/**
|
|
298
|
+
* 获取系统统计信息
|
|
299
|
+
*
|
|
300
|
+
* 返回查询系统的详细统计信息,包括实体数量、索引状态、
|
|
301
|
+
* 查询性能统计等,用于性能监控和调试。
|
|
302
|
+
*
|
|
303
|
+
* @returns 系统统计信息对象
|
|
304
|
+
*/
|
|
305
|
+
getStats(): {
|
|
306
|
+
entityCount: number;
|
|
307
|
+
indexStats: {
|
|
308
|
+
componentIndexSize: number;
|
|
309
|
+
tagIndexSize: number;
|
|
310
|
+
nameIndexSize: number;
|
|
311
|
+
};
|
|
312
|
+
queryStats: {
|
|
313
|
+
totalQueries: number;
|
|
314
|
+
cacheHits: number;
|
|
315
|
+
indexHits: number;
|
|
316
|
+
linearScans: number;
|
|
317
|
+
archetypeHits: number;
|
|
318
|
+
dirtyChecks: number;
|
|
319
|
+
cacheHitRate: string;
|
|
320
|
+
};
|
|
321
|
+
optimizationStats: {
|
|
322
|
+
archetypeSystem: any;
|
|
323
|
+
};
|
|
324
|
+
cacheStats: {
|
|
325
|
+
size: number;
|
|
326
|
+
hitRate: string;
|
|
327
|
+
};
|
|
328
|
+
};
|
|
329
|
+
/**
|
|
330
|
+
* 获取实体所属的原型信息
|
|
331
|
+
*
|
|
332
|
+
* @param entity 要查询的实体
|
|
333
|
+
*/
|
|
334
|
+
getEntityArchetype(entity: Entity): Archetype | undefined;
|
|
335
|
+
/**
|
|
336
|
+
* 响应式查询集合(内部使用,作为智能缓存)
|
|
337
|
+
* 传统查询API(queryAll/queryAny/queryNone)内部自动使用响应式查询优化性能
|
|
338
|
+
*/
|
|
339
|
+
private _reactiveQueries;
|
|
340
|
+
/**
|
|
341
|
+
* 按组件类型索引的响应式查询
|
|
342
|
+
* 用于快速定位哪些查询关心某个组件类型
|
|
343
|
+
*/
|
|
344
|
+
private _reactiveQueriesByComponent;
|
|
345
|
+
/**
|
|
346
|
+
* 获取或创建内部响应式查询(作为智能缓存)
|
|
347
|
+
*
|
|
348
|
+
* @param queryType 查询类型
|
|
349
|
+
* @param componentTypes 组件类型列表
|
|
350
|
+
* @returns 响应式查询实例
|
|
351
|
+
*/
|
|
352
|
+
private getOrCreateReactiveQuery;
|
|
353
|
+
/**
|
|
354
|
+
* 执行传统查询(内部使用,用于响应式查询初始化)
|
|
355
|
+
*
|
|
356
|
+
* @param queryType 查询类型
|
|
357
|
+
* @param componentTypes 组件类型列表
|
|
358
|
+
* @returns 匹配的实体列表
|
|
359
|
+
*/
|
|
360
|
+
private executeTraditionalQuery;
|
|
361
|
+
/**
|
|
362
|
+
* 通知所有响应式查询实体已添加
|
|
363
|
+
*
|
|
364
|
+
* 使用组件类型索引,只通知关心该实体组件的查询
|
|
365
|
+
*
|
|
366
|
+
* @param entity 添加的实体
|
|
367
|
+
*/
|
|
368
|
+
private notifyReactiveQueriesEntityAdded;
|
|
369
|
+
/**
|
|
370
|
+
* 通知响应式查询实体已移除
|
|
371
|
+
*
|
|
372
|
+
* 使用组件类型索引,只通知关心该实体组件的查询
|
|
373
|
+
*
|
|
374
|
+
* @param entity 移除的实体
|
|
375
|
+
* @param componentTypes 实体移除前的组件类型列表
|
|
376
|
+
*/
|
|
377
|
+
private notifyReactiveQueriesEntityRemoved;
|
|
378
|
+
/**
|
|
379
|
+
* 通知响应式查询实体已移除(后备方案)
|
|
380
|
+
*
|
|
381
|
+
* 当实体已经清空组件时使用,通知所有查询
|
|
382
|
+
*
|
|
383
|
+
* @param entity 移除的实体
|
|
384
|
+
*/
|
|
385
|
+
private notifyReactiveQueriesEntityRemovedFallback;
|
|
386
|
+
/**
|
|
387
|
+
* 通知响应式查询实体已变化
|
|
388
|
+
*
|
|
389
|
+
* 使用混合策略:
|
|
390
|
+
* 1. 首先通知关心实体当前组件的查询
|
|
391
|
+
* 2. 然后通知所有其他查询(包括那些可能因为组件移除而不再匹配的查询)
|
|
392
|
+
*
|
|
393
|
+
* @param entity 变化的实体
|
|
394
|
+
*/
|
|
395
|
+
private notifyReactiveQueriesEntityChanged;
|
|
396
|
+
}
|
|
397
|
+
/**
|
|
398
|
+
* 查询构建器
|
|
399
|
+
*
|
|
400
|
+
* 提供链式API来构建复杂的实体查询条件。
|
|
401
|
+
* 支持组合多种查询条件,创建灵活的查询表达式。
|
|
402
|
+
*
|
|
403
|
+
* @example
|
|
404
|
+
* ```typescript
|
|
405
|
+
* const result = new QueryBuilder(querySystem)
|
|
406
|
+
* .withAll(PositionComponent, VelocityComponent)
|
|
407
|
+
* .without(DeadComponent)
|
|
408
|
+
* .execute();
|
|
409
|
+
* ```
|
|
410
|
+
*/
|
|
411
|
+
export declare class QueryBuilder {
|
|
412
|
+
private _logger;
|
|
413
|
+
private conditions;
|
|
414
|
+
private querySystem;
|
|
415
|
+
constructor(querySystem: QuerySystem);
|
|
416
|
+
/**
|
|
417
|
+
* 添加"必须包含所有组件"条件
|
|
418
|
+
*
|
|
419
|
+
* @param componentTypes 必须包含的组件类型
|
|
420
|
+
* @returns 查询构建器实例,支持链式调用
|
|
421
|
+
*/
|
|
422
|
+
withAll(...componentTypes: ComponentType[]): QueryBuilder;
|
|
423
|
+
/**
|
|
424
|
+
* 添加"必须包含任意组件"条件
|
|
425
|
+
*
|
|
426
|
+
* @param componentTypes 必须包含其中任意一个的组件类型
|
|
427
|
+
* @returns 查询构建器实例,支持链式调用
|
|
428
|
+
*/
|
|
429
|
+
withAny(...componentTypes: ComponentType[]): QueryBuilder;
|
|
430
|
+
/**
|
|
431
|
+
* 添加"不能包含任何组件"条件
|
|
432
|
+
*
|
|
433
|
+
* @param componentTypes 不能包含的组件类型
|
|
434
|
+
* @returns 查询构建器实例,支持链式调用
|
|
435
|
+
*/
|
|
436
|
+
without(...componentTypes: ComponentType[]): QueryBuilder;
|
|
437
|
+
/**
|
|
438
|
+
* 执行查询并返回结果
|
|
439
|
+
*
|
|
440
|
+
* 根据已添加的查询条件执行实体查询。
|
|
441
|
+
*
|
|
442
|
+
* @returns 查询结果,包含匹配的实体和性能信息
|
|
443
|
+
*/
|
|
444
|
+
execute(): QueryResult;
|
|
445
|
+
/**
|
|
446
|
+
* 创建组件掩码
|
|
447
|
+
*/
|
|
448
|
+
private createComponentMask;
|
|
449
|
+
/**
|
|
450
|
+
* 重置查询构建器
|
|
451
|
+
*
|
|
452
|
+
* 清除所有已添加的查询条件,重新开始构建查询。
|
|
453
|
+
*
|
|
454
|
+
* @returns 查询构建器实例,支持链式调用
|
|
455
|
+
*/
|
|
456
|
+
reset(): QueryBuilder;
|
|
457
|
+
}
|
|
458
|
+
//# sourceMappingURL=QuerySystem.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QuerySystem.d.ts","sourceRoot":"","sources":["../../../src/ECS/Core/QuerySystem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAqB,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAItE,OAAO,EAAE,SAAS,EAAmB,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE/E,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,WAAW,EAAE,CAAC;AAoB3D;;;;;;;;;;;;;GAaG;AACH,qBAAa,WAAW;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+B;IACvD,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,YAAY,CAAc;IAElC,OAAO,CAAC,QAAQ,CAAK;IAErB,OAAO,CAAC,WAAW,CAAsC;IACzD,OAAO,CAAC,aAAa,CAAQ;IAC7B,OAAO,CAAC,aAAa,CAAQ;IAE7B,OAAO,CAAC,mBAAmB,CAAoC;IAE/D,OAAO,CAAC,gBAAgB,CAAkB;IAE1C,OAAO,CAAC,WAAW,CAOjB;;IAWF;;;;;;;OAOG;IACI,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAO5C;;;;;;;;OAQG;IACI,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,GAAE,OAAe,GAAG,IAAI;IAoBxE;;;;;;;OAOG;IACI,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IA0B5C;;;;;;;OAOG;IACI,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAoBrD;;;;;;OAMG;IACI,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAyBzC;;;;;;OAMG;IACI,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IA0BzC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAgB1B,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,qBAAqB;IAM7B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAwB/B;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAatB;;;;;;;;;;;;;;;OAeG;IACI,QAAQ,CAAC,GAAG,cAAc,EAAE,aAAa,EAAE,GAAG,WAAW;IAqBhE;;;;;;;;;;;;;;;OAeG;IACI,QAAQ,CAAC,GAAG,cAAc,EAAE,aAAa,EAAE,GAAG,WAAW;IAqBhE;;;;;;;;;;;;;;;OAeG;IACI,SAAS,CAAC,GAAG,cAAc,EAAE,aAAa,EAAE,GAAG,WAAW;IAqBjE;;;;;;;;;;;;;;OAcG;IACI,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW;IAiC3C;;;;;;;;;;;;;;OAcG;IACI,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW;IAiC7C;;;;;;;;;;;;;;OAcG;IACI,gBAAgB,CAAC,CAAC,SAAS,SAAS,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,WAAW;IAgC1F;;OAEG;IACH,OAAO,CAAC,YAAY;IAcpB;;OAEG;IACH,OAAO,CAAC,UAAU;IAclB;;OAEG;IACH,OAAO,CAAC,YAAY;IAiCpB;;OAEG;IACH,OAAO,CAAC,eAAe;IAKvB;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IAQ5B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAqBxB;;;;;OAKG;IACI,UAAU,IAAI,IAAI;IAKzB;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACI,mBAAmB,CAAC,cAAc,EAAE,aAAa,EAAE,EAAE,MAAM,CAAC,EAAE,mBAAmB,GAAG,aAAa;IAgCxG;;;;;;;;;;;;;;OAcG;IACI,oBAAoB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAqBvD;;;;;;;;;OASG;IACH,OAAO,CAAC,mBAAmB;IA+B3B;;OAEG;IACH,IAAW,OAAO,IAAI,MAAM,CAE3B;IAED;;OAEG;IACI,cAAc,IAAI,SAAS,MAAM,EAAE;IAI1C;;;;;;;OAOG;IACI,QAAQ,IAAI;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE;YACR,kBAAkB,EAAE,MAAM,CAAC;YAC3B,YAAY,EAAE,MAAM,CAAC;YACrB,aAAa,EAAE,MAAM,CAAC;SACzB,CAAC;QACF,UAAU,EAAE;YACR,YAAY,EAAE,MAAM,CAAC;YACrB,SAAS,EAAE,MAAM,CAAC;YAClB,SAAS,EAAE,MAAM,CAAC;YAClB,WAAW,EAAE,MAAM,CAAC;YACpB,aAAa,EAAE,MAAM,CAAC;YACtB,WAAW,EAAE,MAAM,CAAC;YACpB,YAAY,EAAE,MAAM,CAAC;SACxB,CAAC;QACF,iBAAiB,EAAE;YACf,eAAe,EAAE,GAAG,CAAC;SACxB,CAAC;QACF,UAAU,EAAE;YACR,IAAI,EAAE,MAAM,CAAC;YACb,OAAO,EAAE,MAAM,CAAC;SACnB,CAAC;KACD;IAgCL;;;;OAIG;IACI,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAIhE;;;OAGG;IACH,OAAO,CAAC,gBAAgB,CAAyC;IAEjE;;;OAGG;IACH,OAAO,CAAC,2BAA2B,CAAqD;IAExF;;;;;;OAMG;IACH,OAAO,CAAC,wBAAwB;IA6ChC;;;;;;OAMG;IACH,OAAO,CAAC,uBAAuB;IA+B/B;;;;;;OAMG;IACH,OAAO,CAAC,gCAAgC;IAoBxC;;;;;;;OAOG;IACH,OAAO,CAAC,kCAAkC;IAkB1C;;;;;;OAMG;IACH,OAAO,CAAC,0CAA0C;IAQlD;;;;;;;;OAQG;IACH,OAAO,CAAC,kCAAkC;CA0B7C;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,YAAY;IACrB,OAAO,CAAC,OAAO,CAAgC;IAC/C,OAAO,CAAC,UAAU,CAAwB;IAC1C,OAAO,CAAC,WAAW,CAAc;gBAErB,WAAW,EAAE,WAAW;IAIpC;;;;;OAKG;IACI,OAAO,CAAC,GAAG,cAAc,EAAE,aAAa,EAAE,GAAG,YAAY;IAShE;;;;;OAKG;IACI,OAAO,CAAC,GAAG,cAAc,EAAE,aAAa,EAAE,GAAG,YAAY;IAShE;;;;;OAKG;IACI,OAAO,CAAC,GAAG,cAAc,EAAE,aAAa,EAAE,GAAG,YAAY;IAShE;;;;;;OAMG;IACI,OAAO,IAAI,WAAW;IAyB7B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAa3B;;;;;;OAMG;IACI,KAAK,IAAI,YAAY;CAI/B"}
|