diff options
author | Kelly Rauchenberger <fefferburbia@gmail.com> | 2015-03-13 14:02:07 -0400 |
---|---|---|
committer | Kelly Rauchenberger <fefferburbia@gmail.com> | 2015-03-13 14:02:07 -0400 |
commit | bdf50ff543c73c83cc7a06426bc2a6fe66616b87 (patch) | |
tree | 6d789280fa0829ec32cc37ce73a2773d4a5cd9d1 /src/components.cpp | |
parent | 9cf2d327476d00b696254b170c03dd6b8548e1d0 (diff) | |
download | therapy-bdf50ff543c73c83cc7a06426bc2a6fe66616b87.tar.gz therapy-bdf50ff543c73c83cc7a06426bc2a6fe66616b87.tar.bz2 therapy-bdf50ff543c73c83cc7a06426bc2a6fe66616b87.zip |
Added a checkpoint
Diffstat (limited to 'src/components.cpp')
-rw-r--r-- | src/components.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/components.cpp b/src/components.cpp index 5f67934..26aa5d2 100644 --- a/src/components.cpp +++ b/src/components.cpp | |||
@@ -585,3 +585,30 @@ bool MapCollisionComponent::processCollision(Game& game, Entity& collider, Colli | |||
585 | 585 | ||
586 | return false; | 586 | return false; |
587 | } | 587 | } |
588 | |||
589 | // Static image | ||
590 | |||
591 | StaticImageComponent::StaticImageComponent(const char* filename) : sprite(Texture(filename)) | ||
592 | { | ||
593 | |||
594 | } | ||
595 | |||
596 | void StaticImageComponent::render(Game&, Entity& entity, Texture& buffer) | ||
597 | { | ||
598 | buffer.blit(sprite, sprite.entirety(), {(int) entity.position.first, (int) entity.position.second, entity.size.first, entity.size.second}); | ||
599 | } | ||
600 | |||
601 | // Simple collision | ||
602 | |||
603 | SimpleColliderComponent::SimpleColliderComponent(std::function<void (Entity& collider)> callback) : callback(callback) | ||
604 | { | ||
605 | |||
606 | } | ||
607 | |||
608 | void SimpleColliderComponent::receive(Game&, Entity&, const Message& msg) | ||
609 | { | ||
610 | if (msg.type == Message::Type::collision) | ||
611 | { | ||
612 | callback(*(msg.collisionEntity)); | ||
613 | } | ||
614 | } | ||