2.6 KiB
2.6 KiB
FirebladeECS
Seamlessly, consistently, and asynchronously replicate data.
Overview
This is a dependency free, lightweight, fast and easy to use Entity-Component System implementation in Swift. An ECS comprises entities composed from components of data, with systems which operate on the components.
Fireblade ECS is available for all platforms that support Swift 5.8 and higher and the Swift Package Manager (SPM). It is developed and maintained as part of the Fireblade Game Engine project.
For a more detailed example of FirebladeECS in action, see the Fireblade ECS Demo App.
Topics
Essentials
- doc:GettingStartedWithFirebladeECS
NexusNexusEventNexusEventDelegate
Entities
EntityEntityStateEntityStateMachineEntityCreatedEntityDestroyedEntityComponentHashEntityIdentifierEntityIdentifierGeneratorDefaultEntityIdGeneratorLinearIncrementingEntityIdGenerator
Components
ComponentComponentAddedComponentRemovedComponentProviderComponentsBuilder-4co42ComponentsBuilderComponentInstanceProviderComponentIdentifierComponentInitializableComponentTypeHashComponentTypeProviderComponentSingletonProviderSingleComponentEntityComponentHashStateComponentMappingDynamicComponentProviderRequiringComponents1RequiringComponents2RequiringComponents3RequiringComponents4RequiringComponents5RequiringComponents6RequiringComponents7RequiringComponents8DefaultInitializableSingleComponent
Systems
FamilyFamilyEncodingFamilyDecodingFamilyMemberAddedFamilyMemberRemovedFamilyMemberBuilder-3f2i6FamilyMemberBuilderFamilyTraitSetRequires1Requires2Requires3Requires4Requires5Requires6Requires7Requires8SingleFamily1Family2Family3Family4Family5Family6Family7Family8FamilyRequirementsManaging
Coding Strategies
CodingStrategyDefaultCodingStrategyTopLevelDecoderTopLevelEncoderDynamicCodingKey
Supporting Types
ManagedContiguousArrayUnorderedSparseSet
Hash Functions
hash(combine:)hash(combine:_:)StringHashing