├── .gitignore ├── .gitmodules ├── .travis.yml ├── CMakeLists.txt ├── LICENSE ├── README.md ├── include ├── ECS.hpp └── ECS │ ├── Component.hpp │ ├── Component.inl │ ├── Detail │ ├── ComponentFilter.hpp │ ├── ComponentFilter.inl │ ├── ComponentHolder.hpp │ ├── ComponentHolder.inl │ ├── EntityPool.hpp │ ├── Reference.hpp │ ├── Reference.inl │ ├── SystemHolder.hpp │ ├── SystemHolder.inl │ ├── TypeInfo.hpp │ └── TypeInfo.inl │ ├── Entity.hpp │ ├── Entity.inl │ ├── Event.hpp │ ├── Event.inl │ ├── EventDispatcher.hpp │ ├── EventDispatcher.inl │ ├── Exceptions │ ├── Exception.hpp │ ├── InvalidComponent.hpp │ └── InvalidEntity.hpp │ ├── Log.hpp │ ├── System.hpp │ ├── System.inl │ ├── World.hpp │ └── World.inl ├── src └── ECS │ ├── Detail │ ├── ComponentFilter.cpp │ ├── ComponentHolder.cpp │ ├── EntityPool.cpp │ └── SystemHolder.cpp │ ├── Entity.cpp │ ├── EventDispatcher.cpp │ ├── Exceptions │ ├── Exception.cpp │ ├── InvalidComponent.cpp │ └── InvalidEntity.cpp │ ├── Log.cpp │ ├── System.cpp │ └── World.cpp └── tests ├── CMakeLists.txt ├── Test-ComponentFilter.cpp ├── Test-ComponentHolder.cpp ├── Test-Entity.cpp ├── Test-EntityPool.cpp ├── Test-EventDispacher.cpp ├── Test-Reference.cpp ├── Test-Sample-Main.cpp └── Test-TypeInfo.cpp /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ethan13310/ECS/HEAD/.gitignore -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ethan13310/ECS/HEAD/.gitmodules -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ethan13310/ECS/HEAD/.travis.yml -------------------------------------------------------------------------------- /CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ethan13310/ECS/HEAD/CMakeLists.txt -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ethan13310/ECS/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ethan13310/ECS/HEAD/README.md -------------------------------------------------------------------------------- /include/ECS.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ethan13310/ECS/HEAD/include/ECS.hpp -------------------------------------------------------------------------------- /include/ECS/Component.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ethan13310/ECS/HEAD/include/ECS/Component.hpp -------------------------------------------------------------------------------- /include/ECS/Component.inl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ethan13310/ECS/HEAD/include/ECS/Component.inl -------------------------------------------------------------------------------- /include/ECS/Detail/ComponentFilter.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ethan13310/ECS/HEAD/include/ECS/Detail/ComponentFilter.hpp -------------------------------------------------------------------------------- /include/ECS/Detail/ComponentFilter.inl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ethan13310/ECS/HEAD/include/ECS/Detail/ComponentFilter.inl -------------------------------------------------------------------------------- /include/ECS/Detail/ComponentHolder.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ethan13310/ECS/HEAD/include/ECS/Detail/ComponentHolder.hpp -------------------------------------------------------------------------------- /include/ECS/Detail/ComponentHolder.inl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ethan13310/ECS/HEAD/include/ECS/Detail/ComponentHolder.inl -------------------------------------------------------------------------------- /include/ECS/Detail/EntityPool.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ethan13310/ECS/HEAD/include/ECS/Detail/EntityPool.hpp -------------------------------------------------------------------------------- /include/ECS/Detail/Reference.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ethan13310/ECS/HEAD/include/ECS/Detail/Reference.hpp -------------------------------------------------------------------------------- /include/ECS/Detail/Reference.inl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ethan13310/ECS/HEAD/include/ECS/Detail/Reference.inl -------------------------------------------------------------------------------- /include/ECS/Detail/SystemHolder.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ethan13310/ECS/HEAD/include/ECS/Detail/SystemHolder.hpp -------------------------------------------------------------------------------- /include/ECS/Detail/SystemHolder.inl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ethan13310/ECS/HEAD/include/ECS/Detail/SystemHolder.inl -------------------------------------------------------------------------------- /include/ECS/Detail/TypeInfo.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ethan13310/ECS/HEAD/include/ECS/Detail/TypeInfo.hpp -------------------------------------------------------------------------------- /include/ECS/Detail/TypeInfo.inl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ethan13310/ECS/HEAD/include/ECS/Detail/TypeInfo.inl -------------------------------------------------------------------------------- /include/ECS/Entity.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ethan13310/ECS/HEAD/include/ECS/Entity.hpp -------------------------------------------------------------------------------- /include/ECS/Entity.inl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ethan13310/ECS/HEAD/include/ECS/Entity.inl -------------------------------------------------------------------------------- /include/ECS/Event.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ethan13310/ECS/HEAD/include/ECS/Event.hpp -------------------------------------------------------------------------------- /include/ECS/Event.inl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ethan13310/ECS/HEAD/include/ECS/Event.inl -------------------------------------------------------------------------------- /include/ECS/EventDispatcher.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ethan13310/ECS/HEAD/include/ECS/EventDispatcher.hpp -------------------------------------------------------------------------------- /include/ECS/EventDispatcher.inl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ethan13310/ECS/HEAD/include/ECS/EventDispatcher.inl -------------------------------------------------------------------------------- /include/ECS/Exceptions/Exception.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ethan13310/ECS/HEAD/include/ECS/Exceptions/Exception.hpp -------------------------------------------------------------------------------- /include/ECS/Exceptions/InvalidComponent.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ethan13310/ECS/HEAD/include/ECS/Exceptions/InvalidComponent.hpp -------------------------------------------------------------------------------- /include/ECS/Exceptions/InvalidEntity.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ethan13310/ECS/HEAD/include/ECS/Exceptions/InvalidEntity.hpp -------------------------------------------------------------------------------- /include/ECS/Log.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ethan13310/ECS/HEAD/include/ECS/Log.hpp -------------------------------------------------------------------------------- /include/ECS/System.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ethan13310/ECS/HEAD/include/ECS/System.hpp -------------------------------------------------------------------------------- /include/ECS/System.inl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ethan13310/ECS/HEAD/include/ECS/System.inl -------------------------------------------------------------------------------- /include/ECS/World.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ethan13310/ECS/HEAD/include/ECS/World.hpp -------------------------------------------------------------------------------- /include/ECS/World.inl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ethan13310/ECS/HEAD/include/ECS/World.inl -------------------------------------------------------------------------------- /src/ECS/Detail/ComponentFilter.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ethan13310/ECS/HEAD/src/ECS/Detail/ComponentFilter.cpp -------------------------------------------------------------------------------- /src/ECS/Detail/ComponentHolder.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ethan13310/ECS/HEAD/src/ECS/Detail/ComponentHolder.cpp -------------------------------------------------------------------------------- /src/ECS/Detail/EntityPool.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ethan13310/ECS/HEAD/src/ECS/Detail/EntityPool.cpp -------------------------------------------------------------------------------- /src/ECS/Detail/SystemHolder.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ethan13310/ECS/HEAD/src/ECS/Detail/SystemHolder.cpp -------------------------------------------------------------------------------- /src/ECS/Entity.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ethan13310/ECS/HEAD/src/ECS/Entity.cpp -------------------------------------------------------------------------------- /src/ECS/EventDispatcher.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ethan13310/ECS/HEAD/src/ECS/EventDispatcher.cpp -------------------------------------------------------------------------------- /src/ECS/Exceptions/Exception.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ethan13310/ECS/HEAD/src/ECS/Exceptions/Exception.cpp -------------------------------------------------------------------------------- /src/ECS/Exceptions/InvalidComponent.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ethan13310/ECS/HEAD/src/ECS/Exceptions/InvalidComponent.cpp -------------------------------------------------------------------------------- /src/ECS/Exceptions/InvalidEntity.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ethan13310/ECS/HEAD/src/ECS/Exceptions/InvalidEntity.cpp -------------------------------------------------------------------------------- /src/ECS/Log.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ethan13310/ECS/HEAD/src/ECS/Log.cpp -------------------------------------------------------------------------------- /src/ECS/System.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ethan13310/ECS/HEAD/src/ECS/System.cpp -------------------------------------------------------------------------------- /src/ECS/World.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ethan13310/ECS/HEAD/src/ECS/World.cpp -------------------------------------------------------------------------------- /tests/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ethan13310/ECS/HEAD/tests/CMakeLists.txt -------------------------------------------------------------------------------- /tests/Test-ComponentFilter.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ethan13310/ECS/HEAD/tests/Test-ComponentFilter.cpp -------------------------------------------------------------------------------- /tests/Test-ComponentHolder.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ethan13310/ECS/HEAD/tests/Test-ComponentHolder.cpp -------------------------------------------------------------------------------- /tests/Test-Entity.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ethan13310/ECS/HEAD/tests/Test-Entity.cpp -------------------------------------------------------------------------------- /tests/Test-EntityPool.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ethan13310/ECS/HEAD/tests/Test-EntityPool.cpp -------------------------------------------------------------------------------- /tests/Test-EventDispacher.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ethan13310/ECS/HEAD/tests/Test-EventDispacher.cpp -------------------------------------------------------------------------------- /tests/Test-Reference.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ethan13310/ECS/HEAD/tests/Test-Reference.cpp -------------------------------------------------------------------------------- /tests/Test-Sample-Main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ethan13310/ECS/HEAD/tests/Test-Sample-Main.cpp -------------------------------------------------------------------------------- /tests/Test-TypeInfo.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ethan13310/ECS/HEAD/tests/Test-TypeInfo.cpp --------------------------------------------------------------------------------