gitextract_abg99oc9/ ├── .editorconfig ├── .gitignore ├── .luacov ├── .travis.yml ├── CONTRIBUTING.md ├── ECS.lua ├── ECS_concat.lua ├── LICENSE ├── README.md ├── build.lua ├── docs/ │ ├── .nojekyll │ ├── README.md │ ├── _coverpage.md │ ├── _navbar.md │ ├── _sidebar.md │ ├── api.md │ ├── architecture.md │ ├── assets/ │ │ ├── boids.rbxl │ │ ├── logo-r.psd │ │ ├── pipeline_ecs.psd │ │ ├── pipeline_old.psd │ │ ├── repository-open-graph.psd │ │ ├── tutorial.rbxl │ │ └── version.psd │ ├── faq.md │ ├── favicon/ │ │ ├── browserconfig.xml │ │ └── manifest.json │ ├── getting-started.md │ ├── index.html │ ├── pt-br/ │ │ ├── README.md │ │ ├── _coverpage.md │ │ ├── _navbar.md │ │ ├── _sidebar.md │ │ ├── api.md │ │ ├── architecture.md │ │ ├── faq.md │ │ ├── getting-started.md │ │ ├── tutorial-boids.md │ │ ├── tutorial-pacman.md │ │ ├── tutorial-shoot.md │ │ └── tutorial.md │ ├── style.css │ ├── tutorial-boids.md │ ├── tutorial-pacman.md │ ├── tutorial-shoot.md │ ├── tutorial.md │ ├── z_old_TECH_DETAILS.md │ └── z_old_TUTORIAL.md ├── examples/ │ └── pong/ │ ├── .editorconfig │ ├── .gitignore │ ├── default.project.json │ ├── pong.rbxlx │ └── src/ │ ├── client/ │ │ ├── Constants.lua │ │ ├── Main.client.lua │ │ ├── Utility.lua │ │ ├── components/ │ │ │ ├── AudioSource.lua │ │ │ ├── Ball.lua │ │ │ ├── BasePart.lua │ │ │ ├── Paddle.lua │ │ │ ├── Player.lua │ │ │ ├── Position.lua │ │ │ ├── Score.lua │ │ │ └── Velocity.lua │ │ └── systems/ │ │ ├── AudioSystem.lua │ │ ├── BallSystem.lua │ │ ├── CameraSystem.lua │ │ ├── MoveSystem.lua │ │ ├── PaddleHitSystem.lua │ │ ├── PaddleSystem.lua │ │ ├── PlayerAiThinkSystem.lua │ │ ├── PlayerHumanInputSystem.lua │ │ ├── RenderSystem.lua │ │ └── ScoreSystem.lua │ ├── server/ │ │ └── Main.server.lua │ └── shared/ │ └── ECS.lua ├── modules/ │ ├── bin/ │ │ └── luacov │ ├── luacov/ │ │ ├── defaults.lua │ │ ├── hook.lua │ │ ├── linescanner.lua │ │ ├── reporter/ │ │ │ └── default.lua │ │ ├── reporter.lua │ │ ├── runner.lua │ │ ├── stats.lua │ │ ├── tick.lua │ │ └── util.lua │ ├── luacov.lua │ ├── luaunit.lua │ └── minify.lua ├── roblox/ │ ├── README.md │ ├── RobloxUtils.lua │ └── tutorial/ │ ├── default.project.json │ └── src/ │ ├── client/ │ │ ├── benchmark/ │ │ │ ├── init.client.lua │ │ │ └── soa.lua │ │ └── tutorial/ │ │ └── init.client.lua │ ├── server/ │ │ └── tutorial/ │ │ └── init.server.lua │ └── shared/ │ ├── teste.lua │ └── tutorial/ │ ├── component/ │ │ ├── FiringComponent.lua │ │ └── WeaponComponent.lua │ └── system/ │ ├── CleanupFiringSystem.lua │ ├── FiringSystem.lua │ └── PlayerShootingSystem.lua ├── src/ │ ├── Archetype.lua │ ├── Component.lua │ ├── ComponentFSM.lua │ ├── ECS.lua │ ├── Entity.lua │ ├── EntityRepository.lua │ ├── Event.lua │ ├── Query.lua │ ├── QueryResult.lua │ ├── RobloxLoopManager.lua │ ├── System.lua │ ├── SystemExecutor.lua │ ├── Timer.lua │ ├── Utility.lua │ └── World.lua ├── test/ │ ├── README.md │ ├── test_Archetype.lua │ ├── test_Component.lua │ ├── test_Entity.lua │ ├── test_EntityRepository.lua │ ├── test_Event.lua │ ├── test_Query.lua │ ├── test_QueryResult.lua │ ├── test_SystemExecutor.lua │ └── test_World.lua └── test.lua