3.1 KiB
Fireblade ECS (Entity-Component-System)
This is a dependency free, lightweight, fast and easy to use Entity-Component-System implementation in Swift. It is developed and maintained as part of the Fireblade Game Engine project.
Getting Started
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
Prerequisites
- Swift Package Manager (SPM)
- Swiftlint for linting - (optional)
- Jazzy for documentation - (optional)
Installing
Fireblade ECS is available for all platforms that support Swift 4.0+ and the Swift Package Manager (SPM).
Extend the following lines in your Package.swift file or use it to create a new project.
// swift-tools-version:4.0
import PackageDescription
let package = Package(
name: "YourPackageName",
dependencies: [
.package(url: "https://github.com/ctreffs/fireblade-ecs.git", from: "0.3.0")
],
targets: [
.target(
name: "YourTargetName",
dependencies: ["FirebladeECS"])
]
)
Code Example
A core element in the Fireblade-ECS is the Nexus. It acts as a centralized way to store, access and manage entities and their components.
let nexus = Nexus()
Versioning
We use SemVer for versioning. For the versions available, see the tags on this repository.
Authors
- Christian Treffs - Initial work
- Manuel Weidmann
See also the list of contributors who participated in this project.
License
This project is licensed under the MIT License - see the LICENSE.md file for details
Acknowledgments
- Hat tip to anyone who's code was used
- Inspiration
- etc