diff options
author | Logan Hunt <loganhunt@simponic.xyz> | 2022-04-01 17:12:37 -0600 |
---|---|---|
committer | Logan Hunt <loganhunt@simponic.xyz> | 2022-04-01 17:12:37 -0600 |
commit | 100bbecccbf7b5e09ee60d1c2934df09006344f1 (patch) | |
tree | 08d9fbc488b5b33066fac14bad1c02e72ecb0a2d /src/entities | |
parent | 4cabba2561f55ee6d068d631e3272ff7bf984b37 (diff) | |
download | bbiy-100bbecccbf7b5e09ee60d1c2934df09006344f1.tar.gz bbiy-100bbecccbf7b5e09ee60d1c2934df09006344f1.zip |
Fix sprites
Diffstat (limited to 'src/entities')
-rw-r--r-- | src/entities/bigblue.js | 13 | ||||
-rw-r--r-- | src/entities/entity.js | 23 |
2 files changed, 36 insertions, 0 deletions
diff --git a/src/entities/bigblue.js b/src/entities/bigblue.js new file mode 100644 index 0000000..475740e --- /dev/null +++ b/src/entities/bigblue.js @@ -0,0 +1,13 @@ +game.createBigBlue = () => { + const bigBlue = game.Entity(); + bigBlue.addComponent(game.components.Position({x: 0, y: 0})); + bigBlue.addComponent(game.components.Appearance({rot: 0, width: 100, height: 100})); + bigBlue.sprite = game.graphics.Sprite({ + image: game.assets.bigblue, + spriteHeight: 24, + spriteWidth: 24, + numFrames: 3, + timePerFrame: 100, + }); + return bigBlue; +}
\ No newline at end of file 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 |