diff options
Diffstat (limited to 'src/entities/entity.js')
-rw-r--r-- | src/entities/entity.js | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/entities/entity.js b/src/entities/entity.js new file mode 100644 index 0000000..33d1031 --- /dev/null +++ b/src/entities/entity.js @@ -0,0 +1,23 @@ +game.nextId = 0; + +game.Entity = (id=game.nextId++) => { + const components = {}; + + const addComponent = (component) => { + components[component.name] = component; + } + const removeComponent = (component) => { + delete components[component.name]; + } + const hasComponent = (component) => { + components[component.name] !== undefined; + } + + return { + id, + components, + addComponent, + removeComponent, + hasComponent + }; +}
\ No newline at end of file |