This repository has been archived by the owner on Jun 1, 2022. It is now read-only.
v0.3.0
What's New?
ECSY now has component schemas! Schemas are used to set default component values and generate default implementations of the .clone()
, .copy()
, and .reset()
functions. This is similar to the old createComponentClass()
function, but it's now built into the Component
class. This means you get Component Pooling and copying entities/components for free! If the default implementation isn't fast enough for your needs, you can also override each method. Learn more in the new docs here: https://ecsy.io/docs/#/manual/Architecture
Migration Guide:
createComponentClass
has been removed. You'll need to migrate to theComponent
class and the new schema format. https://ecsy.io/docs/#/manual/Architecture?id=components- You must call
world.registerComponent()
before you can use a component. - All components must extend the
Component
class - Component schemas are optional, but highly recommended unless you know what you are doing. By defining a schema you get a default implementation of the
.clone()
,.copy()
, and.reset()
functions. Without these functions, component pooling will not work correctly and you will either need to disable component pooling or implement the functions yourself. You can find more details on custom components here: https://ecsy.io/docs/#/manual/Architecture?id=custom-components createType
has a new type signature. If you are using custom types, you will need to update them. https://ecsy.io/docs/#/manual/Architecture?id=components
Change Log:
- update package-lock for ecsy/core 9b7a08f
- Merge pull request #197 from MozillaReality/update-docs 8c89c78
- Types.Object -> Types.Ref 78ff448
- Add Architecture docs edits cc01b20
- Try another export for _Entity 21153e6
- Export _Entity and Entity types e4082cc
- Export Entity as _Entity in typescript defs 5717016
- Update README.md a60b106
- Update Docs for New Component Schemas e7b0f9a
- Remove README.md from docs folder cb11017
- Fix links to example source f21646b
- Remove build/benchmarks.module.js 05ff8be
- Merge pull request #192 from MozillaReality/refactorbuild 80c5e2b
- Merge branch 'dev' into refactorbuild b6bc4e7
- Merge pull request #196 from MozillaReality/is-system b0de24d
- Add isSystem check and fixed tests 98f4709
- Fix linting 578bc0c
- Merge branch 'dev' into refactorbuild f73a7f6
- Fix linting 3cc3be6
- Change back to ecsy package 27c4414
- Fix break of system check as some bundlers are breaking it db907ed
- Setup public/gh-pages scripts and directory b245353
- Merge branch 'dev' into refactorbuild 46d2eb3
- Merge pull request #191 from MozillaReality/updatetypes 7afb288
- Update type copy/clone functions 22aa909
- Update docs b67cd34
- Update docs e47c2a9
- Update system type definitions 69bb8b2
- Update docs 66ae975
- Update registerComponent types 39fbd39
- Update entity types 5ebd49e
- Add ObjectPool types 316c274
- Update docs a2aa716
- Update SystemStateComponent definitions 9826a7a
- Update builds 2513f49
- Fix prop types definition b2abd60
- Fix component types c0974c5
- Update type definitions 57ba541
- Merge pull request #168 from MozillaReality/feature/component-schema-pooling 3b57af0
- gitignore benchmark_result 87268cd
- Fix createtype.test e21564a
- Fix rebase 434fde1
- Change Type.copy method 91645d0
- Entity manager baseObject -> T f488d2b
- Component.reset clone -> copy a2f0d85
- baseObject -> T 0f0e243
- entity.components -> entity._components 16e4b6e
- Fix vector3 usage c8eaf9d
- Add reset method to component class bb5996d
- Implement methods on helper components. Pass false for default component constructor. b7f0369
- Rebase and adding benchmarks 0169e05
- Update benchmarks. WIP on browser e85d7ae
- Added acquiring and returning 11f1418
- All benchmarks e1e909b
- more bench c645bb6
- More benchmarks 405477e
- More benchs 0141ec9
- More benchmarks 5cef011
- Add reset method to component class 98283c4
- Implement methods on helper components. Pass false for default component constructor. c1a5cdf
- Use Vector3 type in benchmark to match original implementation. 6126093
- bump benchmarker 747c2e0
- Rebase and adding benchmarks 5c5d8e8
- ObjectPool.aquire => acquire 26d0672
- Export Entity as _Entity and allow parameter to be set in World constructor 3493479
- Added options to the world. entityPoolSize 65de2fc
- Fix #157 remove entity from _entitiesByNames when removing it fbd87c9
- Fix tests f180e4d
- Implement new Component class and ObjectPool b9d88fb
- Refactoring build, scripts, license 6e36dd6
- Merge pull request #189 from MozillaReality/update-ava d4134ed
- Fix merge conflicts 45c7e5b
- Update ava to 3.9.0 be5318c
- Merge pull request #177 from MozillaReality/benchmarks b515ca2
- Enable all benchmarks 3face2b
- Remove comments on objpool.bench b9417cb
- Update benchmarks. WIP on browser 9b9be41
- Added acquiring and returning bd3c631
- Merge pull request #186 from IfnotFr/patch-1 1606f0d
- Add unregisterSystem TS definition into World 264be79
- All benchmarks 3e7f829
- more bench ea20414
- More benchmarks eb2d640
- More benchs a20acf4
- ObjectPool.aquire => acquire 4d3043e
- Fix options assign on world 1bab4ef
- Export Entity as _Entity and allow parameter to be set in World constructor a12c4be
- Update README.md 5c0855f
- More benchmarks e51982e
- Fix bench names 474aba4
- Initial benchmarks af82143