@esengine/ecs-framework 2.3.0 → 2.3.1
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/dist/index.cjs +2 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +13451 -0
- package/dist/index.es5.js +4 -0
- package/dist/index.es5.js.map +1 -0
- package/dist/index.mjs +2 -0
- package/dist/index.mjs.map +1 -0
- package/dist/index.umd.js +4 -0
- package/dist/index.umd.js.map +1 -0
- package/dist/package.json +47 -0
- package/package.json +87 -84
- package/bin/Core/DI/Decorators.d.ts +0 -206
- package/bin/Core/DI/Decorators.d.ts.map +0 -1
- package/bin/Core/DI/Decorators.js +0 -253
- package/bin/Core/DI/Decorators.js.map +0 -1
- package/bin/Core/DI/index.d.ts +0 -8
- package/bin/Core/DI/index.d.ts.map +0 -1
- package/bin/Core/DI/index.js +0 -7
- package/bin/Core/DI/index.js.map +0 -1
- package/bin/Core/Plugin.d.ts +0 -112
- package/bin/Core/Plugin.d.ts.map +0 -1
- package/bin/Core/Plugin.js +0 -19
- package/bin/Core/Plugin.js.map +0 -1
- package/bin/Core/PluginManager.d.ts +0 -118
- package/bin/Core/PluginManager.d.ts.map +0 -1
- package/bin/Core/PluginManager.js +0 -229
- package/bin/Core/PluginManager.js.map +0 -1
- package/bin/Core/ServiceContainer.d.ts +0 -221
- package/bin/Core/ServiceContainer.d.ts.map +0 -1
- package/bin/Core/ServiceContainer.js +0 -352
- package/bin/Core/ServiceContainer.js.map +0 -1
- package/bin/Core.d.ts +0 -379
- package/bin/Core.d.ts.map +0 -1
- package/bin/Core.js +0 -553
- package/bin/Core.js.map +0 -1
- package/bin/ECS/Component.d.ts +0 -104
- package/bin/ECS/Component.d.ts.map +0 -1
- package/bin/ECS/Component.js +0 -105
- package/bin/ECS/Component.js.map +0 -1
- package/bin/ECS/Components/HierarchyComponent.d.ts +0 -46
- package/bin/ECS/Components/HierarchyComponent.d.ts.map +0 -1
- package/bin/ECS/Components/HierarchyComponent.js +0 -65
- package/bin/ECS/Components/HierarchyComponent.js.map +0 -1
- package/bin/ECS/Components/index.d.ts +0 -2
- package/bin/ECS/Components/index.d.ts.map +0 -1
- package/bin/ECS/Components/index.js +0 -2
- package/bin/ECS/Components/index.js.map +0 -1
- package/bin/ECS/Core/ArchetypeSystem.d.ts +0 -103
- package/bin/ECS/Core/ArchetypeSystem.d.ts.map +0 -1
- package/bin/ECS/Core/ArchetypeSystem.js +0 -244
- package/bin/ECS/Core/ArchetypeSystem.js.map +0 -1
- package/bin/ECS/Core/CommandBuffer.d.ts +0 -154
- package/bin/ECS/Core/CommandBuffer.d.ts.map +0 -1
- package/bin/ECS/Core/CommandBuffer.js +0 -244
- package/bin/ECS/Core/CommandBuffer.js.map +0 -1
- package/bin/ECS/Core/ComponentPool.d.ts +0 -139
- package/bin/ECS/Core/ComponentPool.d.ts.map +0 -1
- package/bin/ECS/Core/ComponentPool.js +0 -276
- package/bin/ECS/Core/ComponentPool.js.map +0 -1
- package/bin/ECS/Core/ComponentStorage/ComponentRegistry.d.ts +0 -127
- package/bin/ECS/Core/ComponentStorage/ComponentRegistry.d.ts.map +0 -1
- package/bin/ECS/Core/ComponentStorage/ComponentRegistry.js +0 -235
- package/bin/ECS/Core/ComponentStorage/ComponentRegistry.js.map +0 -1
- package/bin/ECS/Core/ComponentStorage.d.ts +0 -185
- package/bin/ECS/Core/ComponentStorage.d.ts.map +0 -1
- package/bin/ECS/Core/ComponentStorage.js +0 -321
- package/bin/ECS/Core/ComponentStorage.js.map +0 -1
- package/bin/ECS/Core/EntityLifecyclePolicy.d.ts +0 -26
- package/bin/ECS/Core/EntityLifecyclePolicy.d.ts.map +0 -1
- package/bin/ECS/Core/EntityLifecyclePolicy.js +0 -2
- package/bin/ECS/Core/EntityLifecyclePolicy.js.map +0 -1
- package/bin/ECS/Core/EventBus.d.ts +0 -210
- package/bin/ECS/Core/EventBus.d.ts.map +0 -1
- package/bin/ECS/Core/EventBus.js +0 -370
- package/bin/ECS/Core/EventBus.js.map +0 -1
- package/bin/ECS/Core/EventSystem.d.ts +0 -225
- package/bin/ECS/Core/EventSystem.d.ts.map +0 -1
- package/bin/ECS/Core/EventSystem.js +0 -448
- package/bin/ECS/Core/EventSystem.js.map +0 -1
- package/bin/ECS/Core/Events/index.d.ts +0 -3
- package/bin/ECS/Core/Events/index.d.ts.map +0 -1
- package/bin/ECS/Core/Events/index.js +0 -3
- package/bin/ECS/Core/Events/index.js.map +0 -1
- package/bin/ECS/Core/FluentAPI/ComponentBuilder.d.ts +0 -35
- package/bin/ECS/Core/FluentAPI/ComponentBuilder.d.ts.map +0 -1
- package/bin/ECS/Core/FluentAPI/ComponentBuilder.js +0 -48
- package/bin/ECS/Core/FluentAPI/ComponentBuilder.js.map +0 -1
- package/bin/ECS/Core/FluentAPI/ECSFluentAPI.d.ts +0 -135
- package/bin/ECS/Core/FluentAPI/ECSFluentAPI.d.ts.map +0 -1
- package/bin/ECS/Core/FluentAPI/ECSFluentAPI.js +0 -166
- package/bin/ECS/Core/FluentAPI/ECSFluentAPI.js.map +0 -1
- package/bin/ECS/Core/FluentAPI/EntityBatchOperator.d.ts +0 -58
- package/bin/ECS/Core/FluentAPI/EntityBatchOperator.d.ts.map +0 -1
- package/bin/ECS/Core/FluentAPI/EntityBatchOperator.js +0 -85
- package/bin/ECS/Core/FluentAPI/EntityBatchOperator.js.map +0 -1
- package/bin/ECS/Core/FluentAPI/EntityBuilder.d.ts +0 -110
- package/bin/ECS/Core/FluentAPI/EntityBuilder.d.ts.map +0 -1
- package/bin/ECS/Core/FluentAPI/EntityBuilder.js +0 -181
- package/bin/ECS/Core/FluentAPI/EntityBuilder.js.map +0 -1
- package/bin/ECS/Core/FluentAPI/SceneBuilder.d.ts +0 -53
- package/bin/ECS/Core/FluentAPI/SceneBuilder.d.ts.map +0 -1
- package/bin/ECS/Core/FluentAPI/SceneBuilder.js +0 -79
- package/bin/ECS/Core/FluentAPI/SceneBuilder.js.map +0 -1
- package/bin/ECS/Core/FluentAPI/index.d.ts +0 -6
- package/bin/ECS/Core/FluentAPI/index.d.ts.map +0 -1
- package/bin/ECS/Core/FluentAPI/index.js +0 -6
- package/bin/ECS/Core/FluentAPI/index.js.map +0 -1
- package/bin/ECS/Core/FluentAPI.d.ts +0 -2
- package/bin/ECS/Core/FluentAPI.d.ts.map +0 -1
- package/bin/ECS/Core/FluentAPI.js +0 -3
- package/bin/ECS/Core/FluentAPI.js.map +0 -1
- package/bin/ECS/Core/Query/TypedQuery.d.ts +0 -214
- package/bin/ECS/Core/Query/TypedQuery.d.ts.map +0 -1
- package/bin/ECS/Core/Query/TypedQuery.js +0 -294
- package/bin/ECS/Core/Query/TypedQuery.js.map +0 -1
- package/bin/ECS/Core/Query/index.d.ts +0 -3
- package/bin/ECS/Core/Query/index.d.ts.map +0 -1
- package/bin/ECS/Core/Query/index.js +0 -3
- package/bin/ECS/Core/Query/index.js.map +0 -1
- package/bin/ECS/Core/QuerySystem.d.ts +0 -458
- package/bin/ECS/Core/QuerySystem.d.ts.map +0 -1
- package/bin/ECS/Core/QuerySystem.js +0 -1069
- package/bin/ECS/Core/QuerySystem.js.map +0 -1
- package/bin/ECS/Core/QueryTypes.d.ts +0 -34
- package/bin/ECS/Core/QueryTypes.d.ts.map +0 -1
- package/bin/ECS/Core/QueryTypes.js +0 -13
- package/bin/ECS/Core/QueryTypes.js.map +0 -1
- package/bin/ECS/Core/ReactiveQuery.d.ts +0 -211
- package/bin/ECS/Core/ReactiveQuery.d.ts.map +0 -1
- package/bin/ECS/Core/ReactiveQuery.js +0 -401
- package/bin/ECS/Core/ReactiveQuery.js.map +0 -1
- package/bin/ECS/Core/ReferenceTracker.d.ts +0 -111
- package/bin/ECS/Core/ReferenceTracker.d.ts.map +0 -1
- package/bin/ECS/Core/ReferenceTracker.js +0 -254
- package/bin/ECS/Core/ReferenceTracker.js.map +0 -1
- package/bin/ECS/Core/SoASerializer.d.ts +0 -28
- package/bin/ECS/Core/SoASerializer.d.ts.map +0 -1
- package/bin/ECS/Core/SoASerializer.js +0 -85
- package/bin/ECS/Core/SoASerializer.js.map +0 -1
- package/bin/ECS/Core/SoAStorage.d.ts +0 -129
- package/bin/ECS/Core/SoAStorage.d.ts.map +0 -1
- package/bin/ECS/Core/SoAStorage.js +0 -685
- package/bin/ECS/Core/SoAStorage.js.map +0 -1
- package/bin/ECS/Core/SoATypeRegistry.d.ts +0 -50
- package/bin/ECS/Core/SoATypeRegistry.d.ts.map +0 -1
- package/bin/ECS/Core/SoATypeRegistry.js +0 -135
- package/bin/ECS/Core/SoATypeRegistry.js.map +0 -1
- package/bin/ECS/Core/Storage/index.d.ts +0 -4
- package/bin/ECS/Core/Storage/index.d.ts.map +0 -1
- package/bin/ECS/Core/Storage/index.js +0 -4
- package/bin/ECS/Core/Storage/index.js.map +0 -1
- package/bin/ECS/Core/StorageDecorators.d.ts +0 -20
- package/bin/ECS/Core/StorageDecorators.d.ts.map +0 -1
- package/bin/ECS/Core/StorageDecorators.js +0 -27
- package/bin/ECS/Core/StorageDecorators.js.map +0 -1
- package/bin/ECS/CoreEvents.d.ts +0 -131
- package/bin/ECS/CoreEvents.d.ts.map +0 -1
- package/bin/ECS/CoreEvents.js +0 -163
- package/bin/ECS/CoreEvents.js.map +0 -1
- package/bin/ECS/Decorators/EntityRefDecorator.d.ts +0 -46
- package/bin/ECS/Decorators/EntityRefDecorator.d.ts.map +0 -1
- package/bin/ECS/Decorators/EntityRefDecorator.js +0 -118
- package/bin/ECS/Decorators/EntityRefDecorator.js.map +0 -1
- package/bin/ECS/Decorators/PropertyDecorator.d.ts +0 -168
- package/bin/ECS/Decorators/PropertyDecorator.d.ts.map +0 -1
- package/bin/ECS/Decorators/PropertyDecorator.js +0 -40
- package/bin/ECS/Decorators/PropertyDecorator.js.map +0 -1
- package/bin/ECS/Decorators/TypeDecorators.d.ts +0 -124
- package/bin/ECS/Decorators/TypeDecorators.d.ts.map +0 -1
- package/bin/ECS/Decorators/TypeDecorators.js +0 -151
- package/bin/ECS/Decorators/TypeDecorators.js.map +0 -1
- package/bin/ECS/Decorators/index.d.ts +0 -7
- package/bin/ECS/Decorators/index.d.ts.map +0 -1
- package/bin/ECS/Decorators/index.js +0 -4
- package/bin/ECS/Decorators/index.js.map +0 -1
- package/bin/ECS/Entity.d.ts +0 -415
- package/bin/ECS/Entity.d.ts.map +0 -1
- package/bin/ECS/Entity.js +0 -683
- package/bin/ECS/Entity.js.map +0 -1
- package/bin/ECS/EntityTags.d.ts +0 -71
- package/bin/ECS/EntityTags.d.ts.map +0 -1
- package/bin/ECS/EntityTags.js +0 -82
- package/bin/ECS/EntityTags.js.map +0 -1
- package/bin/ECS/IScene.d.ts +0 -308
- package/bin/ECS/IScene.d.ts.map +0 -1
- package/bin/ECS/IScene.js +0 -2
- package/bin/ECS/IScene.js.map +0 -1
- package/bin/ECS/Scene.d.ts +0 -799
- package/bin/ECS/Scene.d.ts.map +0 -1
- package/bin/ECS/Scene.js +0 -1203
- package/bin/ECS/Scene.js.map +0 -1
- package/bin/ECS/SceneManager.d.ts +0 -197
- package/bin/ECS/SceneManager.d.ts.map +0 -1
- package/bin/ECS/SceneManager.js +0 -264
- package/bin/ECS/SceneManager.js.map +0 -1
- package/bin/ECS/Serialization/ComponentSerializer.d.ts +0 -106
- package/bin/ECS/Serialization/ComponentSerializer.d.ts.map +0 -1
- package/bin/ECS/Serialization/ComponentSerializer.js +0 -251
- package/bin/ECS/Serialization/ComponentSerializer.js.map +0 -1
- package/bin/ECS/Serialization/EntitySerializer.d.ts +0 -111
- package/bin/ECS/Serialization/EntitySerializer.d.ts.map +0 -1
- package/bin/ECS/Serialization/EntitySerializer.js +0 -155
- package/bin/ECS/Serialization/EntitySerializer.js.map +0 -1
- package/bin/ECS/Serialization/IncrementalSerializer.d.ts +0 -259
- package/bin/ECS/Serialization/IncrementalSerializer.d.ts.map +0 -1
- package/bin/ECS/Serialization/IncrementalSerializer.js +0 -500
- package/bin/ECS/Serialization/IncrementalSerializer.js.map +0 -1
- package/bin/ECS/Serialization/SceneSerializer.d.ts +0 -213
- package/bin/ECS/Serialization/SceneSerializer.d.ts.map +0 -1
- package/bin/ECS/Serialization/SceneSerializer.js +0 -387
- package/bin/ECS/Serialization/SceneSerializer.js.map +0 -1
- package/bin/ECS/Serialization/SerializationDecorators.d.ts +0 -136
- package/bin/ECS/Serialization/SerializationDecorators.d.ts.map +0 -1
- package/bin/ECS/Serialization/SerializationDecorators.js +0 -216
- package/bin/ECS/Serialization/SerializationDecorators.js.map +0 -1
- package/bin/ECS/Serialization/VersionMigration.d.ts +0 -156
- package/bin/ECS/Serialization/VersionMigration.d.ts.map +0 -1
- package/bin/ECS/Serialization/VersionMigration.js +0 -279
- package/bin/ECS/Serialization/VersionMigration.js.map +0 -1
- package/bin/ECS/Serialization/index.d.ts +0 -18
- package/bin/ECS/Serialization/index.d.ts.map +0 -1
- package/bin/ECS/Serialization/index.js +0 -18
- package/bin/ECS/Serialization/index.js.map +0 -1
- package/bin/ECS/Systems/EntityCache.d.ts +0 -114
- package/bin/ECS/Systems/EntityCache.d.ts.map +0 -1
- package/bin/ECS/Systems/EntityCache.js +0 -145
- package/bin/ECS/Systems/EntityCache.js.map +0 -1
- package/bin/ECS/Systems/EntitySystem.d.ts +0 -591
- package/bin/ECS/Systems/EntitySystem.d.ts.map +0 -1
- package/bin/ECS/Systems/EntitySystem.js +0 -1102
- package/bin/ECS/Systems/EntitySystem.js.map +0 -1
- package/bin/ECS/Systems/HierarchySystem.d.ts +0 -155
- package/bin/ECS/Systems/HierarchySystem.d.ts.map +0 -1
- package/bin/ECS/Systems/HierarchySystem.js +0 -498
- package/bin/ECS/Systems/HierarchySystem.js.map +0 -1
- package/bin/ECS/Systems/IntervalSystem.d.ts +0 -33
- package/bin/ECS/Systems/IntervalSystem.d.ts.map +0 -1
- package/bin/ECS/Systems/IntervalSystem.js +0 -50
- package/bin/ECS/Systems/IntervalSystem.js.map +0 -1
- package/bin/ECS/Systems/PassiveSystem.d.ts +0 -17
- package/bin/ECS/Systems/PassiveSystem.d.ts.map +0 -1
- package/bin/ECS/Systems/PassiveSystem.js +0 -19
- package/bin/ECS/Systems/PassiveSystem.js.map +0 -1
- package/bin/ECS/Systems/ProcessingSystem.d.ts +0 -21
- package/bin/ECS/Systems/ProcessingSystem.d.ts.map +0 -1
- package/bin/ECS/Systems/ProcessingSystem.js +0 -20
- package/bin/ECS/Systems/ProcessingSystem.js.map +0 -1
- package/bin/ECS/Systems/WorkerEntitySystem.d.ts +0 -313
- package/bin/ECS/Systems/WorkerEntitySystem.d.ts.map +0 -1
- package/bin/ECS/Systems/WorkerEntitySystem.js +0 -792
- package/bin/ECS/Systems/WorkerEntitySystem.js.map +0 -1
- package/bin/ECS/Systems/index.d.ts +0 -8
- package/bin/ECS/Systems/index.d.ts.map +0 -1
- package/bin/ECS/Systems/index.js +0 -8
- package/bin/ECS/Systems/index.js.map +0 -1
- package/bin/ECS/TypedEntity.d.ts +0 -192
- package/bin/ECS/TypedEntity.d.ts.map +0 -1
- package/bin/ECS/TypedEntity.js +0 -254
- package/bin/ECS/TypedEntity.js.map +0 -1
- package/bin/ECS/Utils/BigIntCompatibility.d.ts +0 -151
- package/bin/ECS/Utils/BigIntCompatibility.d.ts.map +0 -1
- package/bin/ECS/Utils/BigIntCompatibility.js +0 -476
- package/bin/ECS/Utils/BigIntCompatibility.js.map +0 -1
- package/bin/ECS/Utils/BitMaskHashMap.d.ts +0 -28
- package/bin/ECS/Utils/BitMaskHashMap.d.ts.map +0 -1
- package/bin/ECS/Utils/BitMaskHashMap.js +0 -127
- package/bin/ECS/Utils/BitMaskHashMap.js.map +0 -1
- package/bin/ECS/Utils/Bits.d.ts +0 -154
- package/bin/ECS/Utils/Bits.d.ts.map +0 -1
- package/bin/ECS/Utils/Bits.js +0 -331
- package/bin/ECS/Utils/Bits.js.map +0 -1
- package/bin/ECS/Utils/ComponentSparseSet.d.ts +0 -143
- package/bin/ECS/Utils/ComponentSparseSet.d.ts.map +0 -1
- package/bin/ECS/Utils/ComponentSparseSet.js +0 -347
- package/bin/ECS/Utils/ComponentSparseSet.js.map +0 -1
- package/bin/ECS/Utils/EntityList.d.ts +0 -115
- package/bin/ECS/Utils/EntityList.d.ts.map +0 -1
- package/bin/ECS/Utils/EntityList.js +0 -258
- package/bin/ECS/Utils/EntityList.js.map +0 -1
- package/bin/ECS/Utils/EntityProcessorList.d.ts +0 -56
- package/bin/ECS/Utils/EntityProcessorList.d.ts.map +0 -1
- package/bin/ECS/Utils/EntityProcessorList.js +0 -113
- package/bin/ECS/Utils/EntityProcessorList.js.map +0 -1
- package/bin/ECS/Utils/IdentifierPool.d.ts +0 -203
- package/bin/ECS/Utils/IdentifierPool.d.ts.map +0 -1
- package/bin/ECS/Utils/IdentifierPool.js +0 -325
- package/bin/ECS/Utils/IdentifierPool.js.map +0 -1
- package/bin/ECS/Utils/Matcher.d.ts +0 -171
- package/bin/ECS/Utils/Matcher.d.ts.map +0 -1
- package/bin/ECS/Utils/Matcher.js +0 -293
- package/bin/ECS/Utils/Matcher.js.map +0 -1
- package/bin/ECS/Utils/SparseSet.d.ts +0 -170
- package/bin/ECS/Utils/SparseSet.d.ts.map +0 -1
- package/bin/ECS/Utils/SparseSet.js +0 -280
- package/bin/ECS/Utils/SparseSet.js.map +0 -1
- package/bin/ECS/Utils/index.d.ts +0 -9
- package/bin/ECS/Utils/index.d.ts.map +0 -1
- package/bin/ECS/Utils/index.js +0 -10
- package/bin/ECS/Utils/index.js.map +0 -1
- package/bin/ECS/World.d.ts +0 -238
- package/bin/ECS/World.d.ts.map +0 -1
- package/bin/ECS/World.js +0 -416
- package/bin/ECS/World.js.map +0 -1
- package/bin/ECS/WorldManager.d.ts +0 -224
- package/bin/ECS/WorldManager.d.ts.map +0 -1
- package/bin/ECS/WorldManager.js +0 -365
- package/bin/ECS/WorldManager.js.map +0 -1
- package/bin/ECS/index.d.ts +0 -26
- package/bin/ECS/index.d.ts.map +0 -1
- package/bin/ECS/index.js +0 -21
- package/bin/ECS/index.js.map +0 -1
- package/bin/Platform/IPlatformAdapter.d.ts +0 -169
- package/bin/Platform/IPlatformAdapter.d.ts.map +0 -1
- package/bin/Platform/IPlatformAdapter.js +0 -2
- package/bin/Platform/IPlatformAdapter.js.map +0 -1
- package/bin/Platform/PlatformDetector.d.ts +0 -56
- package/bin/Platform/PlatformDetector.d.ts.map +0 -1
- package/bin/Platform/PlatformDetector.js +0 -247
- package/bin/Platform/PlatformDetector.js.map +0 -1
- package/bin/Platform/PlatformManager.d.ts +0 -50
- package/bin/Platform/PlatformManager.d.ts.map +0 -1
- package/bin/Platform/PlatformManager.js +0 -114
- package/bin/Platform/PlatformManager.js.map +0 -1
- package/bin/Platform/index.d.ts +0 -19
- package/bin/Platform/index.d.ts.map +0 -1
- package/bin/Platform/index.js +0 -29
- package/bin/Platform/index.js.map +0 -1
- package/bin/Plugins/DebugPlugin.d.ts +0 -156
- package/bin/Plugins/DebugPlugin.d.ts.map +0 -1
- package/bin/Plugins/DebugPlugin.js +0 -248
- package/bin/Plugins/DebugPlugin.js.map +0 -1
- package/bin/Plugins/index.d.ts +0 -2
- package/bin/Plugins/index.d.ts.map +0 -1
- package/bin/Plugins/index.js +0 -2
- package/bin/Plugins/index.js.map +0 -1
- package/bin/Types/IUpdatable.d.ts +0 -18
- package/bin/Types/IUpdatable.d.ts.map +0 -1
- package/bin/Types/IUpdatable.js +0 -7
- package/bin/Types/IUpdatable.js.map +0 -1
- package/bin/Types/TypeHelpers.d.ts +0 -238
- package/bin/Types/TypeHelpers.d.ts.map +0 -1
- package/bin/Types/TypeHelpers.js +0 -19
- package/bin/Types/TypeHelpers.js.map +0 -1
- package/bin/Types/index.d.ts +0 -466
- package/bin/Types/index.d.ts.map +0 -1
- package/bin/Types/index.js +0 -7
- package/bin/Types/index.js.map +0 -1
- package/bin/Utils/BinarySerializer.d.ts +0 -23
- package/bin/Utils/BinarySerializer.d.ts.map +0 -1
- package/bin/Utils/BinarySerializer.js +0 -100
- package/bin/Utils/BinarySerializer.js.map +0 -1
- package/bin/Utils/Debug/AdvancedProfilerCollector.d.ts +0 -153
- package/bin/Utils/Debug/AdvancedProfilerCollector.d.ts.map +0 -1
- package/bin/Utils/Debug/AdvancedProfilerCollector.js +0 -406
- package/bin/Utils/Debug/AdvancedProfilerCollector.js.map +0 -1
- package/bin/Utils/Debug/ComponentDataCollector.d.ts +0 -32
- package/bin/Utils/Debug/ComponentDataCollector.d.ts.map +0 -1
- package/bin/Utils/Debug/ComponentDataCollector.js +0 -250
- package/bin/Utils/Debug/ComponentDataCollector.js.map +0 -1
- package/bin/Utils/Debug/DebugConfigService.d.ts +0 -16
- package/bin/Utils/Debug/DebugConfigService.d.ts.map +0 -1
- package/bin/Utils/Debug/DebugConfigService.js +0 -42
- package/bin/Utils/Debug/DebugConfigService.js.map +0 -1
- package/bin/Utils/Debug/DebugManager.d.ts +0 -131
- package/bin/Utils/Debug/DebugManager.d.ts.map +0 -1
- package/bin/Utils/Debug/DebugManager.js +0 -848
- package/bin/Utils/Debug/DebugManager.js.map +0 -1
- package/bin/Utils/Debug/EntityDataCollector.d.ts +0 -115
- package/bin/Utils/Debug/EntityDataCollector.d.ts.map +0 -1
- package/bin/Utils/Debug/EntityDataCollector.js +0 -870
- package/bin/Utils/Debug/EntityDataCollector.js.map +0 -1
- package/bin/Utils/Debug/PerformanceDataCollector.d.ts +0 -31
- package/bin/Utils/Debug/PerformanceDataCollector.d.ts.map +0 -1
- package/bin/Utils/Debug/PerformanceDataCollector.js +0 -203
- package/bin/Utils/Debug/PerformanceDataCollector.js.map +0 -1
- package/bin/Utils/Debug/SceneDataCollector.d.ts +0 -18
- package/bin/Utils/Debug/SceneDataCollector.d.ts.map +0 -1
- package/bin/Utils/Debug/SceneDataCollector.js +0 -43
- package/bin/Utils/Debug/SceneDataCollector.js.map +0 -1
- package/bin/Utils/Debug/SystemDataCollector.d.ts +0 -14
- package/bin/Utils/Debug/SystemDataCollector.d.ts.map +0 -1
- package/bin/Utils/Debug/SystemDataCollector.js +0 -60
- package/bin/Utils/Debug/SystemDataCollector.js.map +0 -1
- package/bin/Utils/Debug/WebSocketManager.d.ts +0 -54
- package/bin/Utils/Debug/WebSocketManager.d.ts.map +0 -1
- package/bin/Utils/Debug/WebSocketManager.js +0 -141
- package/bin/Utils/Debug/WebSocketManager.js.map +0 -1
- package/bin/Utils/Debug/index.d.ts +0 -11
- package/bin/Utils/Debug/index.d.ts.map +0 -1
- package/bin/Utils/Debug/index.js +0 -10
- package/bin/Utils/Debug/index.js.map +0 -1
- package/bin/Utils/Emitter.d.ts +0 -61
- package/bin/Utils/Emitter.d.ts.map +0 -1
- package/bin/Utils/Emitter.js +0 -101
- package/bin/Utils/Emitter.js.map +0 -1
- package/bin/Utils/Extensions/NumberExtension.d.ts +0 -13
- package/bin/Utils/Extensions/NumberExtension.d.ts.map +0 -1
- package/bin/Utils/Extensions/NumberExtension.js +0 -17
- package/bin/Utils/Extensions/NumberExtension.js.map +0 -1
- package/bin/Utils/Extensions/TypeUtils.d.ts +0 -13
- package/bin/Utils/Extensions/TypeUtils.d.ts.map +0 -1
- package/bin/Utils/Extensions/TypeUtils.js +0 -15
- package/bin/Utils/Extensions/TypeUtils.js.map +0 -1
- package/bin/Utils/Extensions/index.d.ts +0 -3
- package/bin/Utils/Extensions/index.d.ts.map +0 -1
- package/bin/Utils/Extensions/index.js +0 -4
- package/bin/Utils/Extensions/index.js.map +0 -1
- package/bin/Utils/GlobalManager.d.ts +0 -29
- package/bin/Utils/GlobalManager.d.ts.map +0 -1
- package/bin/Utils/GlobalManager.js +0 -50
- package/bin/Utils/GlobalManager.js.map +0 -1
- package/bin/Utils/Logger/ConsoleLogger.d.ts +0 -74
- package/bin/Utils/Logger/ConsoleLogger.d.ts.map +0 -1
- package/bin/Utils/Logger/ConsoleLogger.js +0 -187
- package/bin/Utils/Logger/ConsoleLogger.js.map +0 -1
- package/bin/Utils/Logger/Constants.d.ts +0 -36
- package/bin/Utils/Logger/Constants.d.ts.map +0 -1
- package/bin/Utils/Logger/Constants.js +0 -40
- package/bin/Utils/Logger/Constants.js.map +0 -1
- package/bin/Utils/Logger/LoggerManager.d.ts +0 -91
- package/bin/Utils/Logger/LoggerManager.d.ts.map +0 -1
- package/bin/Utils/Logger/LoggerManager.js +0 -167
- package/bin/Utils/Logger/LoggerManager.js.map +0 -1
- package/bin/Utils/Logger/Types.d.ts +0 -40
- package/bin/Utils/Logger/Types.d.ts.map +0 -1
- package/bin/Utils/Logger/Types.js +0 -2
- package/bin/Utils/Logger/Types.js.map +0 -1
- package/bin/Utils/Logger/index.d.ts +0 -5
- package/bin/Utils/Logger/index.d.ts.map +0 -1
- package/bin/Utils/Logger/index.js +0 -5
- package/bin/Utils/Logger/index.js.map +0 -1
- package/bin/Utils/PerformanceMonitor.d.ts +0 -196
- package/bin/Utils/PerformanceMonitor.d.ts.map +0 -1
- package/bin/Utils/PerformanceMonitor.js +0 -244
- package/bin/Utils/PerformanceMonitor.js.map +0 -1
- package/bin/Utils/Pool/IPoolable.d.ts +0 -29
- package/bin/Utils/Pool/IPoolable.d.ts.map +0 -1
- package/bin/Utils/Pool/IPoolable.js +0 -2
- package/bin/Utils/Pool/IPoolable.js.map +0 -1
- package/bin/Utils/Pool/Pool.d.ts +0 -109
- package/bin/Utils/Pool/Pool.d.ts.map +0 -1
- package/bin/Utils/Pool/Pool.js +0 -238
- package/bin/Utils/Pool/Pool.js.map +0 -1
- package/bin/Utils/Pool/PoolManager.d.ts +0 -96
- package/bin/Utils/Pool/PoolManager.d.ts.map +0 -1
- package/bin/Utils/Pool/PoolManager.js +0 -199
- package/bin/Utils/Pool/PoolManager.js.map +0 -1
- package/bin/Utils/Pool/index.d.ts +0 -4
- package/bin/Utils/Pool/index.d.ts.map +0 -1
- package/bin/Utils/Pool/index.js +0 -4
- package/bin/Utils/Pool/index.js.map +0 -1
- package/bin/Utils/Profiler/AutoProfiler.d.ts +0 -160
- package/bin/Utils/Profiler/AutoProfiler.d.ts.map +0 -1
- package/bin/Utils/Profiler/AutoProfiler.js +0 -503
- package/bin/Utils/Profiler/AutoProfiler.js.map +0 -1
- package/bin/Utils/Profiler/ProfilerSDK.d.ts +0 -175
- package/bin/Utils/Profiler/ProfilerSDK.d.ts.map +0 -1
- package/bin/Utils/Profiler/ProfilerSDK.js +0 -727
- package/bin/Utils/Profiler/ProfilerSDK.js.map +0 -1
- package/bin/Utils/Profiler/ProfilerTypes.d.ts +0 -218
- package/bin/Utils/Profiler/ProfilerTypes.d.ts.map +0 -1
- package/bin/Utils/Profiler/ProfilerTypes.js +0 -47
- package/bin/Utils/Profiler/ProfilerTypes.js.map +0 -1
- package/bin/Utils/Profiler/index.d.ts +0 -8
- package/bin/Utils/Profiler/index.d.ts.map +0 -1
- package/bin/Utils/Profiler/index.js +0 -7
- package/bin/Utils/Profiler/index.js.map +0 -1
- package/bin/Utils/Time.d.ts +0 -47
- package/bin/Utils/Time.d.ts.map +0 -1
- package/bin/Utils/Time.js +0 -64
- package/bin/Utils/Time.js.map +0 -1
- package/bin/Utils/Timers/ITimer.d.ts +0 -16
- package/bin/Utils/Timers/ITimer.d.ts.map +0 -1
- package/bin/Utils/Timers/ITimer.js +0 -2
- package/bin/Utils/Timers/ITimer.js.map +0 -1
- package/bin/Utils/Timers/Timer.d.ts +0 -30
- package/bin/Utils/Timers/Timer.d.ts.map +0 -1
- package/bin/Utils/Timers/Timer.js +0 -58
- package/bin/Utils/Timers/Timer.js.map +0 -1
- package/bin/Utils/Timers/TimerManager.d.ts +0 -26
- package/bin/Utils/Timers/TimerManager.d.ts.map +0 -1
- package/bin/Utils/Timers/TimerManager.js +0 -48
- package/bin/Utils/Timers/TimerManager.js.map +0 -1
- package/bin/Utils/index.d.ts +0 -11
- package/bin/Utils/index.d.ts.map +0 -1
- package/bin/Utils/index.js +0 -11
- package/bin/Utils/index.js.map +0 -1
- package/bin/index.d.ts +0 -29
- package/bin/index.d.ts.map +0 -1
- package/bin/index.js +0 -36
- package/bin/index.js.map +0 -1
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* EntityRef元数据的Symbol键
|
|
3
|
-
*/
|
|
4
|
-
export declare const ENTITY_REF_METADATA: unique symbol;
|
|
5
|
-
/**
|
|
6
|
-
* EntityRef元数据
|
|
7
|
-
*/
|
|
8
|
-
export interface EntityRefMetadata {
|
|
9
|
-
properties: Set<string>;
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Entity引用装饰器
|
|
13
|
-
*
|
|
14
|
-
* 标记Component属性为Entity引用,自动追踪引用关系。
|
|
15
|
-
* 当被引用的Entity销毁时,该属性会自动设为null。
|
|
16
|
-
*
|
|
17
|
-
* @example
|
|
18
|
-
* ```typescript
|
|
19
|
-
* class ParentComponent extends Component {
|
|
20
|
-
* @EntityRef() parent: Entity | null = null;
|
|
21
|
-
* }
|
|
22
|
-
*
|
|
23
|
-
* const parent = scene.createEntity('Parent');
|
|
24
|
-
* const child = scene.createEntity('Child');
|
|
25
|
-
* const comp = child.addComponent(new ParentComponent());
|
|
26
|
-
*
|
|
27
|
-
* comp.parent = parent;
|
|
28
|
-
* parent.destroy(); // comp.parent 自动变为 null
|
|
29
|
-
* ```
|
|
30
|
-
*/
|
|
31
|
-
export declare function EntityRef(): PropertyDecorator;
|
|
32
|
-
/**
|
|
33
|
-
* 获取Component的EntityRef元数据
|
|
34
|
-
*
|
|
35
|
-
* @param component Component实例或Component类
|
|
36
|
-
* @returns EntityRef元数据,如果不存在则返回null
|
|
37
|
-
*/
|
|
38
|
-
export declare function getEntityRefMetadata(component: any): EntityRefMetadata | null;
|
|
39
|
-
/**
|
|
40
|
-
* 检查Component是否有EntityRef属性
|
|
41
|
-
*
|
|
42
|
-
* @param component Component实例或Component类
|
|
43
|
-
* @returns 如果有EntityRef属性返回true
|
|
44
|
-
*/
|
|
45
|
-
export declare function hasEntityRef(component: any): boolean;
|
|
46
|
-
//# sourceMappingURL=EntityRefDecorator.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EntityRefDecorator.d.ts","sourceRoot":"","sources":["../../../src/ECS/Decorators/EntityRefDecorator.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,eAAO,MAAM,mBAAmB,eAA8B,CAAC;AAO/D;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC3B;AAcD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,SAAS,IAAI,iBAAiB,CA8D7C;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,GAAG,GAAG,iBAAiB,GAAG,IAAI,CAU7E;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,GAAG,GAAG,OAAO,CAEpD"}
|
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
import { getSceneByEntityId } from '../Core/ReferenceTracker';
|
|
2
|
-
import { createLogger } from '../../Utils/Logger';
|
|
3
|
-
const logger = createLogger('EntityRefDecorator');
|
|
4
|
-
/**
|
|
5
|
-
* EntityRef元数据的Symbol键
|
|
6
|
-
*/
|
|
7
|
-
export const ENTITY_REF_METADATA = Symbol('EntityRefMetadata');
|
|
8
|
-
/**
|
|
9
|
-
* EntityRef值存储的Symbol键
|
|
10
|
-
*/
|
|
11
|
-
const ENTITY_REF_VALUES = Symbol('EntityRefValues');
|
|
12
|
-
/**
|
|
13
|
-
* 获取或创建组件的EntityRef值存储Map
|
|
14
|
-
*/
|
|
15
|
-
function getValueMap(component) {
|
|
16
|
-
let map = component[ENTITY_REF_VALUES];
|
|
17
|
-
if (!map) {
|
|
18
|
-
map = new Map();
|
|
19
|
-
component[ENTITY_REF_VALUES] = map;
|
|
20
|
-
}
|
|
21
|
-
return map;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Entity引用装饰器
|
|
25
|
-
*
|
|
26
|
-
* 标记Component属性为Entity引用,自动追踪引用关系。
|
|
27
|
-
* 当被引用的Entity销毁时,该属性会自动设为null。
|
|
28
|
-
*
|
|
29
|
-
* @example
|
|
30
|
-
* ```typescript
|
|
31
|
-
* class ParentComponent extends Component {
|
|
32
|
-
* @EntityRef() parent: Entity | null = null;
|
|
33
|
-
* }
|
|
34
|
-
*
|
|
35
|
-
* const parent = scene.createEntity('Parent');
|
|
36
|
-
* const child = scene.createEntity('Child');
|
|
37
|
-
* const comp = child.addComponent(new ParentComponent());
|
|
38
|
-
*
|
|
39
|
-
* comp.parent = parent;
|
|
40
|
-
* parent.destroy(); // comp.parent 自动变为 null
|
|
41
|
-
* ```
|
|
42
|
-
*/
|
|
43
|
-
export function EntityRef() {
|
|
44
|
-
return function (target, propertyKey) {
|
|
45
|
-
const constructor = target.constructor;
|
|
46
|
-
let metadata = constructor[ENTITY_REF_METADATA];
|
|
47
|
-
if (!metadata) {
|
|
48
|
-
metadata = {
|
|
49
|
-
properties: new Set()
|
|
50
|
-
};
|
|
51
|
-
constructor[ENTITY_REF_METADATA] = metadata;
|
|
52
|
-
}
|
|
53
|
-
const propKeyString = typeof propertyKey === 'symbol' ? propertyKey.toString() : propertyKey;
|
|
54
|
-
metadata.properties.add(propKeyString);
|
|
55
|
-
Object.defineProperty(target, propertyKey, {
|
|
56
|
-
get: function () {
|
|
57
|
-
const valueMap = getValueMap(this);
|
|
58
|
-
return valueMap.get(propKeyString) || null;
|
|
59
|
-
},
|
|
60
|
-
set: function (newValue) {
|
|
61
|
-
const valueMap = getValueMap(this);
|
|
62
|
-
const oldValue = valueMap.get(propKeyString) || null;
|
|
63
|
-
if (oldValue === newValue) {
|
|
64
|
-
return;
|
|
65
|
-
}
|
|
66
|
-
const scene = this.entityId !== null ? getSceneByEntityId(this.entityId) : null;
|
|
67
|
-
if (!scene || !scene.referenceTracker) {
|
|
68
|
-
valueMap.set(propKeyString, newValue);
|
|
69
|
-
return;
|
|
70
|
-
}
|
|
71
|
-
const tracker = scene.referenceTracker;
|
|
72
|
-
if (oldValue) {
|
|
73
|
-
tracker.unregisterReference(oldValue, this, propKeyString);
|
|
74
|
-
}
|
|
75
|
-
if (newValue) {
|
|
76
|
-
if (newValue.scene !== scene) {
|
|
77
|
-
logger.error(`Cannot reference Entity from different Scene. Entity: ${newValue.name}, Scene: ${newValue.scene?.name || 'null'}`);
|
|
78
|
-
return;
|
|
79
|
-
}
|
|
80
|
-
if (newValue.isDestroyed) {
|
|
81
|
-
logger.warn(`Cannot reference destroyed Entity: ${newValue.name}`);
|
|
82
|
-
valueMap.set(propKeyString, null);
|
|
83
|
-
return;
|
|
84
|
-
}
|
|
85
|
-
tracker.registerReference(newValue, this, propKeyString);
|
|
86
|
-
}
|
|
87
|
-
valueMap.set(propKeyString, newValue);
|
|
88
|
-
},
|
|
89
|
-
enumerable: true,
|
|
90
|
-
configurable: true
|
|
91
|
-
});
|
|
92
|
-
};
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* 获取Component的EntityRef元数据
|
|
96
|
-
*
|
|
97
|
-
* @param component Component实例或Component类
|
|
98
|
-
* @returns EntityRef元数据,如果不存在则返回null
|
|
99
|
-
*/
|
|
100
|
-
export function getEntityRefMetadata(component) {
|
|
101
|
-
if (!component) {
|
|
102
|
-
return null;
|
|
103
|
-
}
|
|
104
|
-
const constructor = typeof component === 'function'
|
|
105
|
-
? component
|
|
106
|
-
: component.constructor;
|
|
107
|
-
return constructor[ENTITY_REF_METADATA] || null;
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* 检查Component是否有EntityRef属性
|
|
111
|
-
*
|
|
112
|
-
* @param component Component实例或Component类
|
|
113
|
-
* @returns 如果有EntityRef属性返回true
|
|
114
|
-
*/
|
|
115
|
-
export function hasEntityRef(component) {
|
|
116
|
-
return getEntityRefMetadata(component) !== null;
|
|
117
|
-
}
|
|
118
|
-
//# sourceMappingURL=EntityRefDecorator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EntityRefDecorator.js","sourceRoot":"","sources":["../../../src/ECS/Decorators/EntityRefDecorator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,168 +0,0 @@
|
|
|
1
|
-
import 'reflect-metadata';
|
|
2
|
-
export type PropertyType = 'number' | 'integer' | 'string' | 'boolean' | 'color' | 'vector2' | 'vector3' | 'enum' | 'asset' | 'animationClips' | 'collisionLayer' | 'collisionMask';
|
|
3
|
-
/**
|
|
4
|
-
* 资源类型
|
|
5
|
-
* Asset type for asset properties
|
|
6
|
-
*/
|
|
7
|
-
export type AssetType = 'texture' | 'audio' | 'scene' | 'prefab' | 'animation' | 'any';
|
|
8
|
-
/**
|
|
9
|
-
* 枚举选项 - 支持简单字符串或带标签的对象
|
|
10
|
-
* Enum option - supports simple string or labeled object
|
|
11
|
-
*/
|
|
12
|
-
export type EnumOption = string | {
|
|
13
|
-
label: string;
|
|
14
|
-
value: any;
|
|
15
|
-
};
|
|
16
|
-
/**
|
|
17
|
-
* Action button configuration for property fields
|
|
18
|
-
* 属性字段的操作按钮配置
|
|
19
|
-
*/
|
|
20
|
-
export interface PropertyAction {
|
|
21
|
-
/** Action identifier | 操作标识符 */
|
|
22
|
-
id: string;
|
|
23
|
-
/** Button label | 按钮标签 */
|
|
24
|
-
label: string;
|
|
25
|
-
/** Button tooltip | 按钮提示 */
|
|
26
|
-
tooltip?: string;
|
|
27
|
-
/** Icon name from Lucide | Lucide图标名称 */
|
|
28
|
-
icon?: string;
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* 控制关系声明
|
|
32
|
-
* Control relationship declaration
|
|
33
|
-
*/
|
|
34
|
-
export interface PropertyControl {
|
|
35
|
-
/** 被控制的组件名称 | Target component name */
|
|
36
|
-
component: string;
|
|
37
|
-
/** 被控制的属性名称 | Target property name */
|
|
38
|
-
property: string;
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* 属性基础选项
|
|
42
|
-
* Base property options shared by all types
|
|
43
|
-
*/
|
|
44
|
-
interface PropertyOptionsBase {
|
|
45
|
-
/** 显示标签 | Display label */
|
|
46
|
-
label?: string;
|
|
47
|
-
/** 是否只读 | Read-only flag */
|
|
48
|
-
readOnly?: boolean;
|
|
49
|
-
/** Action buttons | 操作按钮 */
|
|
50
|
-
actions?: PropertyAction[];
|
|
51
|
-
/** 此属性控制的其他组件属性 | Properties this field controls */
|
|
52
|
-
controls?: PropertyControl[];
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* 数值类型属性选项
|
|
56
|
-
* Number property options
|
|
57
|
-
*/
|
|
58
|
-
interface NumberPropertyOptions extends PropertyOptionsBase {
|
|
59
|
-
type: 'number' | 'integer';
|
|
60
|
-
min?: number;
|
|
61
|
-
max?: number;
|
|
62
|
-
step?: number;
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* 字符串类型属性选项
|
|
66
|
-
* String property options
|
|
67
|
-
*/
|
|
68
|
-
interface StringPropertyOptions extends PropertyOptionsBase {
|
|
69
|
-
type: 'string';
|
|
70
|
-
/** 多行文本 | Multiline text */
|
|
71
|
-
multiline?: boolean;
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* 布尔类型属性选项
|
|
75
|
-
* Boolean property options
|
|
76
|
-
*/
|
|
77
|
-
interface BooleanPropertyOptions extends PropertyOptionsBase {
|
|
78
|
-
type: 'boolean';
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* 颜色类型属性选项
|
|
82
|
-
* Color property options
|
|
83
|
-
*/
|
|
84
|
-
interface ColorPropertyOptions extends PropertyOptionsBase {
|
|
85
|
-
type: 'color';
|
|
86
|
-
/** 是否包含透明度 | Include alpha channel */
|
|
87
|
-
alpha?: boolean;
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* 向量类型属性选项
|
|
91
|
-
* Vector property options
|
|
92
|
-
*/
|
|
93
|
-
interface VectorPropertyOptions extends PropertyOptionsBase {
|
|
94
|
-
type: 'vector2' | 'vector3';
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* 枚举类型属性选项
|
|
98
|
-
* Enum property options
|
|
99
|
-
*/
|
|
100
|
-
interface EnumPropertyOptions extends PropertyOptionsBase {
|
|
101
|
-
type: 'enum';
|
|
102
|
-
/** 枚举选项列表 | Enum options list */
|
|
103
|
-
options: EnumOption[];
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* 资源类型属性选项
|
|
107
|
-
* Asset property options
|
|
108
|
-
*/
|
|
109
|
-
interface AssetPropertyOptions extends PropertyOptionsBase {
|
|
110
|
-
type: 'asset';
|
|
111
|
-
/** 资源类型 | Asset type */
|
|
112
|
-
assetType?: AssetType;
|
|
113
|
-
/** 文件扩展名过滤 | File extension filter */
|
|
114
|
-
extensions?: string[];
|
|
115
|
-
}
|
|
116
|
-
/**
|
|
117
|
-
* 动画剪辑类型属性选项
|
|
118
|
-
* Animation clips property options
|
|
119
|
-
*/
|
|
120
|
-
interface AnimationClipsPropertyOptions extends PropertyOptionsBase {
|
|
121
|
-
type: 'animationClips';
|
|
122
|
-
}
|
|
123
|
-
/**
|
|
124
|
-
* 碰撞层属性选项
|
|
125
|
-
* Collision layer property options
|
|
126
|
-
*/
|
|
127
|
-
interface CollisionLayerPropertyOptions extends PropertyOptionsBase {
|
|
128
|
-
type: 'collisionLayer';
|
|
129
|
-
}
|
|
130
|
-
/**
|
|
131
|
-
* 碰撞掩码属性选项
|
|
132
|
-
* Collision mask property options
|
|
133
|
-
*/
|
|
134
|
-
interface CollisionMaskPropertyOptions extends PropertyOptionsBase {
|
|
135
|
-
type: 'collisionMask';
|
|
136
|
-
}
|
|
137
|
-
/**
|
|
138
|
-
* 属性选项联合类型
|
|
139
|
-
* Property options union type
|
|
140
|
-
*/
|
|
141
|
-
export type PropertyOptions = NumberPropertyOptions | StringPropertyOptions | BooleanPropertyOptions | ColorPropertyOptions | VectorPropertyOptions | EnumPropertyOptions | AssetPropertyOptions | AnimationClipsPropertyOptions | CollisionLayerPropertyOptions | CollisionMaskPropertyOptions;
|
|
142
|
-
export declare const PROPERTY_METADATA: unique symbol;
|
|
143
|
-
/**
|
|
144
|
-
* 属性装饰器 - 声明组件属性的编辑器元数据
|
|
145
|
-
*
|
|
146
|
-
* @example
|
|
147
|
-
* ```typescript
|
|
148
|
-
* @ECSComponent('Transform')
|
|
149
|
-
* export class TransformComponent extends Component {
|
|
150
|
-
* @Property({ type: 'vector3', label: 'Position' })
|
|
151
|
-
* public position: Vector3 = { x: 0, y: 0, z: 0 };
|
|
152
|
-
*
|
|
153
|
-
* @Property({ type: 'number', label: 'Speed', min: 0, max: 100 })
|
|
154
|
-
* public speed: number = 10;
|
|
155
|
-
* }
|
|
156
|
-
* ```
|
|
157
|
-
*/
|
|
158
|
-
export declare function Property(options: PropertyOptions): PropertyDecorator;
|
|
159
|
-
/**
|
|
160
|
-
* 获取组件类的所有属性元数据
|
|
161
|
-
*/
|
|
162
|
-
export declare function getPropertyMetadata(target: Function): Record<string, PropertyOptions> | undefined;
|
|
163
|
-
/**
|
|
164
|
-
* 检查组件类是否有属性元数据
|
|
165
|
-
*/
|
|
166
|
-
export declare function hasPropertyMetadata(target: Function): boolean;
|
|
167
|
-
export {};
|
|
168
|
-
//# sourceMappingURL=PropertyDecorator.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PropertyDecorator.d.ts","sourceRoot":"","sources":["../../../src/ECS/Decorators/PropertyDecorator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import 'reflect-metadata';
|
|
2
|
-
// 使用 Symbol.for 创建全局 Symbol,确保跨包共享元数据
|
|
3
|
-
// Use Symbol.for to create a global Symbol to ensure metadata sharing across packages
|
|
4
|
-
export const PROPERTY_METADATA = Symbol.for('@esengine/property:metadata');
|
|
5
|
-
/**
|
|
6
|
-
* 属性装饰器 - 声明组件属性的编辑器元数据
|
|
7
|
-
*
|
|
8
|
-
* @example
|
|
9
|
-
* ```typescript
|
|
10
|
-
* @ECSComponent('Transform')
|
|
11
|
-
* export class TransformComponent extends Component {
|
|
12
|
-
* @Property({ type: 'vector3', label: 'Position' })
|
|
13
|
-
* public position: Vector3 = { x: 0, y: 0, z: 0 };
|
|
14
|
-
*
|
|
15
|
-
* @Property({ type: 'number', label: 'Speed', min: 0, max: 100 })
|
|
16
|
-
* public speed: number = 10;
|
|
17
|
-
* }
|
|
18
|
-
* ```
|
|
19
|
-
*/
|
|
20
|
-
export function Property(options) {
|
|
21
|
-
return (target, propertyKey) => {
|
|
22
|
-
const constructor = target.constructor;
|
|
23
|
-
const existingMetadata = Reflect.getMetadata(PROPERTY_METADATA, constructor) || {};
|
|
24
|
-
existingMetadata[propertyKey] = options;
|
|
25
|
-
Reflect.defineMetadata(PROPERTY_METADATA, existingMetadata, constructor);
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* 获取组件类的所有属性元数据
|
|
30
|
-
*/
|
|
31
|
-
export function getPropertyMetadata(target) {
|
|
32
|
-
return Reflect.getMetadata(PROPERTY_METADATA, target);
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* 检查组件类是否有属性元数据
|
|
36
|
-
*/
|
|
37
|
-
export function hasPropertyMetadata(target) {
|
|
38
|
-
return Reflect.hasMetadata(PROPERTY_METADATA, target);
|
|
39
|
-
}
|
|
40
|
-
//# sourceMappingURL=PropertyDecorator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PropertyDecorator.js","sourceRoot":"","sources":["../../../src/ECS/Decorators/PropertyDecorator.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAsK1B,sCAAsC;AACtC,sFAAsF;AACtF,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;AAE3E;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,QAAQ,CAAC,OAAwB;IAC7C,OAAO,CAAC,MAAc,EAAE,WAA4B,EAAE,EAAE;QACpD,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACvC,MAAM,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,iBAAiB,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC;QAEnF,gBAAgB,CAAC,WAAqB,CAAC,GAAG,OAAO,CAAC;QAElD,OAAO,CAAC,cAAc,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,WAAW,CAAC,CAAC;IAC7E,CAAC,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAgB;IAChD,OAAO,OAAO,CAAC,WAAW,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;AAC1D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAgB;IAChD,OAAO,OAAO,CAAC,WAAW,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;AAC1D,CAAC"}
|
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
import type { Component } from '../Component';
|
|
2
|
-
import type { EntitySystem } from '../Systems';
|
|
3
|
-
import { ComponentType } from '../../Types';
|
|
4
|
-
/**
|
|
5
|
-
* 存储组件类型名称的Symbol键
|
|
6
|
-
*/
|
|
7
|
-
export declare const COMPONENT_TYPE_NAME: unique symbol;
|
|
8
|
-
/**
|
|
9
|
-
* 存储组件依赖的Symbol键
|
|
10
|
-
*/
|
|
11
|
-
export declare const COMPONENT_DEPENDENCIES: unique symbol;
|
|
12
|
-
/**
|
|
13
|
-
* 存储系统类型名称的Symbol键
|
|
14
|
-
*/
|
|
15
|
-
export declare const SYSTEM_TYPE_NAME: unique symbol;
|
|
16
|
-
/**
|
|
17
|
-
* 组件装饰器配置选项
|
|
18
|
-
*/
|
|
19
|
-
export interface ComponentOptions {
|
|
20
|
-
/** 依赖的其他组件名称列表 */
|
|
21
|
-
requires?: string[];
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* 组件类型装饰器
|
|
25
|
-
* 用于为组件类指定固定的类型名称,避免在代码混淆后失效
|
|
26
|
-
*
|
|
27
|
-
* @param typeName 组件类型名称
|
|
28
|
-
* @param options 组件配置选项
|
|
29
|
-
* @example
|
|
30
|
-
* ```typescript
|
|
31
|
-
* @ECSComponent('Position')
|
|
32
|
-
* class PositionComponent extends Component {
|
|
33
|
-
* x: number = 0;
|
|
34
|
-
* y: number = 0;
|
|
35
|
-
* }
|
|
36
|
-
*
|
|
37
|
-
* // 带依赖声明
|
|
38
|
-
* @ECSComponent('SpriteAnimator', { requires: ['Sprite'] })
|
|
39
|
-
* class SpriteAnimatorComponent extends Component {
|
|
40
|
-
* // ...
|
|
41
|
-
* }
|
|
42
|
-
* ```
|
|
43
|
-
*/
|
|
44
|
-
export declare function ECSComponent(typeName: string, options?: ComponentOptions): <T extends new (...args: any[]) => Component>(target: T) => T;
|
|
45
|
-
/**
|
|
46
|
-
* 获取组件的依赖列表
|
|
47
|
-
*/
|
|
48
|
-
export declare function getComponentDependencies(componentType: ComponentType): string[] | undefined;
|
|
49
|
-
/**
|
|
50
|
-
* System元数据配置
|
|
51
|
-
*/
|
|
52
|
-
export interface SystemMetadata {
|
|
53
|
-
/**
|
|
54
|
-
* 更新顺序(数值越小越先执行,默认0)
|
|
55
|
-
*/
|
|
56
|
-
updateOrder?: number;
|
|
57
|
-
/**
|
|
58
|
-
* 是否默认启用(默认true)
|
|
59
|
-
*/
|
|
60
|
-
enabled?: boolean;
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* 系统类型装饰器
|
|
64
|
-
* 用于为系统类指定固定的类型名称,避免在代码混淆后失效
|
|
65
|
-
*
|
|
66
|
-
* @param typeName 系统类型名称
|
|
67
|
-
* @param metadata 系统元数据配置
|
|
68
|
-
* @example
|
|
69
|
-
* ```typescript
|
|
70
|
-
* // 基本使用
|
|
71
|
-
* @ECSSystem('Movement')
|
|
72
|
-
* class MovementSystem extends EntitySystem {
|
|
73
|
-
* protected process(entities: Entity[]): void {
|
|
74
|
-
* // 系统逻辑
|
|
75
|
-
* }
|
|
76
|
-
* }
|
|
77
|
-
*
|
|
78
|
-
* // 配置更新顺序和依赖注入
|
|
79
|
-
* @Injectable()
|
|
80
|
-
* @ECSSystem('Physics', { updateOrder: 10 })
|
|
81
|
-
* class PhysicsSystem extends EntitySystem {
|
|
82
|
-
* @InjectProperty(CollisionSystem)
|
|
83
|
-
* private collision!: CollisionSystem;
|
|
84
|
-
*
|
|
85
|
-
* constructor() {
|
|
86
|
-
* super(Matcher.empty().all(Transform, RigidBody));
|
|
87
|
-
* }
|
|
88
|
-
* }
|
|
89
|
-
* ```
|
|
90
|
-
*/
|
|
91
|
-
export declare function ECSSystem(typeName: string, metadata?: SystemMetadata): <T extends new (...args: any[]) => EntitySystem>(target: T) => T;
|
|
92
|
-
/**
|
|
93
|
-
* 获取System的元数据
|
|
94
|
-
*/
|
|
95
|
-
export declare function getSystemMetadata(systemType: new (...args: any[]) => EntitySystem): SystemMetadata | undefined;
|
|
96
|
-
/**
|
|
97
|
-
* 获取组件类型的名称,优先使用装饰器指定的名称
|
|
98
|
-
*
|
|
99
|
-
* @param componentType 组件构造函数
|
|
100
|
-
* @returns 组件类型名称
|
|
101
|
-
*/
|
|
102
|
-
export declare function getComponentTypeName(componentType: ComponentType): string;
|
|
103
|
-
/**
|
|
104
|
-
* 获取系统类型的名称,优先使用装饰器指定的名称
|
|
105
|
-
*
|
|
106
|
-
* @param systemType 系统构造函数
|
|
107
|
-
* @returns 系统类型名称
|
|
108
|
-
*/
|
|
109
|
-
export declare function getSystemTypeName<T extends EntitySystem>(systemType: new (...args: any[]) => T): string;
|
|
110
|
-
/**
|
|
111
|
-
* 从组件实例获取类型名称
|
|
112
|
-
*
|
|
113
|
-
* @param component 组件实例
|
|
114
|
-
* @returns 组件类型名称
|
|
115
|
-
*/
|
|
116
|
-
export declare function getComponentInstanceTypeName(component: Component): string;
|
|
117
|
-
/**
|
|
118
|
-
* 从系统实例获取类型名称
|
|
119
|
-
*
|
|
120
|
-
* @param system 系统实例
|
|
121
|
-
* @returns 系统类型名称
|
|
122
|
-
*/
|
|
123
|
-
export declare function getSystemInstanceTypeName(system: EntitySystem): string;
|
|
124
|
-
//# sourceMappingURL=TypeDecorators.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TypeDecorators.d.ts","sourceRoot":"","sources":["../../../src/ECS/Decorators/TypeDecorators.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C;;GAEG;AACH,eAAO,MAAM,mBAAmB,eAA8B,CAAC;AAE/D;;GAEG;AACH,eAAO,MAAM,sBAAsB,eAAkC,CAAC;AAEtE;;GAEG;AACH,eAAO,MAAM,gBAAgB,eAA2B,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B,kBAAkB;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,IACpD,CAAC,SAAS,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,SAAS,EAAE,QAAQ,CAAC,KAAG,CAAC,CAe9E;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,aAAa,EAAE,aAAa,GAAG,MAAM,EAAE,GAAG,SAAS,CAE3F;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,cAAc,IAChD,CAAC,SAAS,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,YAAY,EAAE,QAAQ,CAAC,KAAG,CAAC,CAejF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,YAAY,GAAG,cAAc,GAAG,SAAS,CAE9G;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAChC,aAAa,EAAE,aAAa,GAC7B,MAAM,CASR;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,YAAY,EACpD,UAAU,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GACtC,MAAM,CASR;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAEzE;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAEtE"}
|
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 存储组件类型名称的Symbol键
|
|
3
|
-
*/
|
|
4
|
-
export const COMPONENT_TYPE_NAME = Symbol('ComponentTypeName');
|
|
5
|
-
/**
|
|
6
|
-
* 存储组件依赖的Symbol键
|
|
7
|
-
*/
|
|
8
|
-
export const COMPONENT_DEPENDENCIES = Symbol('ComponentDependencies');
|
|
9
|
-
/**
|
|
10
|
-
* 存储系统类型名称的Symbol键
|
|
11
|
-
*/
|
|
12
|
-
export const SYSTEM_TYPE_NAME = Symbol('SystemTypeName');
|
|
13
|
-
/**
|
|
14
|
-
* 组件类型装饰器
|
|
15
|
-
* 用于为组件类指定固定的类型名称,避免在代码混淆后失效
|
|
16
|
-
*
|
|
17
|
-
* @param typeName 组件类型名称
|
|
18
|
-
* @param options 组件配置选项
|
|
19
|
-
* @example
|
|
20
|
-
* ```typescript
|
|
21
|
-
* @ECSComponent('Position')
|
|
22
|
-
* class PositionComponent extends Component {
|
|
23
|
-
* x: number = 0;
|
|
24
|
-
* y: number = 0;
|
|
25
|
-
* }
|
|
26
|
-
*
|
|
27
|
-
* // 带依赖声明
|
|
28
|
-
* @ECSComponent('SpriteAnimator', { requires: ['Sprite'] })
|
|
29
|
-
* class SpriteAnimatorComponent extends Component {
|
|
30
|
-
* // ...
|
|
31
|
-
* }
|
|
32
|
-
* ```
|
|
33
|
-
*/
|
|
34
|
-
export function ECSComponent(typeName, options) {
|
|
35
|
-
return function (target) {
|
|
36
|
-
if (!typeName || typeof typeName !== 'string') {
|
|
37
|
-
throw new Error('ECSComponent装饰器必须提供有效的类型名称');
|
|
38
|
-
}
|
|
39
|
-
// 在构造函数上存储类型名称
|
|
40
|
-
target[COMPONENT_TYPE_NAME] = typeName;
|
|
41
|
-
// 存储依赖关系
|
|
42
|
-
if (options?.requires) {
|
|
43
|
-
target[COMPONENT_DEPENDENCIES] = options.requires;
|
|
44
|
-
}
|
|
45
|
-
return target;
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* 获取组件的依赖列表
|
|
50
|
-
*/
|
|
51
|
-
export function getComponentDependencies(componentType) {
|
|
52
|
-
return componentType[COMPONENT_DEPENDENCIES];
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* 系统类型装饰器
|
|
56
|
-
* 用于为系统类指定固定的类型名称,避免在代码混淆后失效
|
|
57
|
-
*
|
|
58
|
-
* @param typeName 系统类型名称
|
|
59
|
-
* @param metadata 系统元数据配置
|
|
60
|
-
* @example
|
|
61
|
-
* ```typescript
|
|
62
|
-
* // 基本使用
|
|
63
|
-
* @ECSSystem('Movement')
|
|
64
|
-
* class MovementSystem extends EntitySystem {
|
|
65
|
-
* protected process(entities: Entity[]): void {
|
|
66
|
-
* // 系统逻辑
|
|
67
|
-
* }
|
|
68
|
-
* }
|
|
69
|
-
*
|
|
70
|
-
* // 配置更新顺序和依赖注入
|
|
71
|
-
* @Injectable()
|
|
72
|
-
* @ECSSystem('Physics', { updateOrder: 10 })
|
|
73
|
-
* class PhysicsSystem extends EntitySystem {
|
|
74
|
-
* @InjectProperty(CollisionSystem)
|
|
75
|
-
* private collision!: CollisionSystem;
|
|
76
|
-
*
|
|
77
|
-
* constructor() {
|
|
78
|
-
* super(Matcher.empty().all(Transform, RigidBody));
|
|
79
|
-
* }
|
|
80
|
-
* }
|
|
81
|
-
* ```
|
|
82
|
-
*/
|
|
83
|
-
export function ECSSystem(typeName, metadata) {
|
|
84
|
-
return function (target) {
|
|
85
|
-
if (!typeName || typeof typeName !== 'string') {
|
|
86
|
-
throw new Error('ECSSystem装饰器必须提供有效的类型名称');
|
|
87
|
-
}
|
|
88
|
-
// 在构造函数上存储类型名称
|
|
89
|
-
target[SYSTEM_TYPE_NAME] = typeName;
|
|
90
|
-
// 存储元数据
|
|
91
|
-
if (metadata) {
|
|
92
|
-
target.__systemMetadata__ = metadata;
|
|
93
|
-
}
|
|
94
|
-
return target;
|
|
95
|
-
};
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* 获取System的元数据
|
|
99
|
-
*/
|
|
100
|
-
export function getSystemMetadata(systemType) {
|
|
101
|
-
return systemType.__systemMetadata__;
|
|
102
|
-
}
|
|
103
|
-
/**
|
|
104
|
-
* 获取组件类型的名称,优先使用装饰器指定的名称
|
|
105
|
-
*
|
|
106
|
-
* @param componentType 组件构造函数
|
|
107
|
-
* @returns 组件类型名称
|
|
108
|
-
*/
|
|
109
|
-
export function getComponentTypeName(componentType) {
|
|
110
|
-
// 优先使用装饰器指定的名称
|
|
111
|
-
const decoratorName = componentType[COMPONENT_TYPE_NAME];
|
|
112
|
-
if (decoratorName) {
|
|
113
|
-
return decoratorName;
|
|
114
|
-
}
|
|
115
|
-
// 回退到constructor.name
|
|
116
|
-
return componentType.name || 'UnknownComponent';
|
|
117
|
-
}
|
|
118
|
-
/**
|
|
119
|
-
* 获取系统类型的名称,优先使用装饰器指定的名称
|
|
120
|
-
*
|
|
121
|
-
* @param systemType 系统构造函数
|
|
122
|
-
* @returns 系统类型名称
|
|
123
|
-
*/
|
|
124
|
-
export function getSystemTypeName(systemType) {
|
|
125
|
-
// 优先使用装饰器指定的名称
|
|
126
|
-
const decoratorName = systemType[SYSTEM_TYPE_NAME];
|
|
127
|
-
if (decoratorName) {
|
|
128
|
-
return decoratorName;
|
|
129
|
-
}
|
|
130
|
-
// 回退到constructor.name
|
|
131
|
-
return systemType.name || 'UnknownSystem';
|
|
132
|
-
}
|
|
133
|
-
/**
|
|
134
|
-
* 从组件实例获取类型名称
|
|
135
|
-
*
|
|
136
|
-
* @param component 组件实例
|
|
137
|
-
* @returns 组件类型名称
|
|
138
|
-
*/
|
|
139
|
-
export function getComponentInstanceTypeName(component) {
|
|
140
|
-
return getComponentTypeName(component.constructor);
|
|
141
|
-
}
|
|
142
|
-
/**
|
|
143
|
-
* 从系统实例获取类型名称
|
|
144
|
-
*
|
|
145
|
-
* @param system 系统实例
|
|
146
|
-
* @returns 系统类型名称
|
|
147
|
-
*/
|
|
148
|
-
export function getSystemInstanceTypeName(system) {
|
|
149
|
-
return getSystemTypeName(system.constructor);
|
|
150
|
-
}
|
|
151
|
-
//# sourceMappingURL=TypeDecorators.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TypeDecorators.js","sourceRoot":"","sources":["../../../src/ECS/Decorators/TypeDecorators.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAE/D;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAC;AAEtE;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAUzD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,YAAY,CAAC,QAAgB,EAAE,OAA0B;IACrE,OAAO,UAAuD,MAAS;QACnE,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAClD,CAAC;QAED,eAAe;QACd,MAAc,CAAC,mBAAmB,CAAC,GAAG,QAAQ,CAAC;QAEhD,SAAS;QACT,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;YACnB,MAAc,CAAC,sBAAsB,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;QAC/D,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,aAA4B;IACjE,OAAQ,aAAqB,CAAC,sBAAsB,CAAC,CAAC;AAC1D,CAAC;AAiBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,UAAU,SAAS,CAAC,QAAgB,EAAE,QAAyB;IACjE,OAAO,UAA0D,MAAS;QACtE,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC/C,CAAC;QAED,eAAe;QACd,MAAc,CAAC,gBAAgB,CAAC,GAAG,QAAQ,CAAC;QAE7C,QAAQ;QACR,IAAI,QAAQ,EAAE,CAAC;YACV,MAAc,CAAC,kBAAkB,GAAG,QAAQ,CAAC;QAClD,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,UAAgD;IAC9E,OAAQ,UAAkB,CAAC,kBAAkB,CAAC;AAClD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAChC,aAA4B;IAE5B,eAAe;IACf,MAAM,aAAa,GAAI,aAAqB,CAAC,mBAAmB,CAAC,CAAC;IAClE,IAAI,aAAa,EAAE,CAAC;QAChB,OAAO,aAAa,CAAC;IACzB,CAAC;IAED,sBAAsB;IACtB,OAAO,aAAa,CAAC,IAAI,IAAI,kBAAkB,CAAC;AACpD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAC7B,UAAqC;IAErC,eAAe;IACf,MAAM,aAAa,GAAI,UAAkB,CAAC,gBAAgB,CAAC,CAAC;IAC5D,IAAI,aAAa,EAAE,CAAC;QAChB,OAAO,aAAa,CAAC;IACzB,CAAC;IAED,sBAAsB;IACtB,OAAO,UAAU,CAAC,IAAI,IAAI,eAAe,CAAC;AAC9C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,4BAA4B,CAAC,SAAoB;IAC7D,OAAO,oBAAoB,CAAC,SAAS,CAAC,WAA4B,CAAC,CAAC;AACxE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CAAC,MAAoB;IAC1D,OAAO,iBAAiB,CAAC,MAAM,CAAC,WAAmD,CAAC,CAAC;AACzF,CAAC"}
|