aboutsummaryrefslogtreecommitdiffstats
path: root/examples/shooter/bullet.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/shooter/bullet.cpp')
-rw-r--r--examples/shooter/bullet.cpp31
1 files changed, 28 insertions, 3 deletions
diff --git a/examples/shooter/bullet.cpp b/examples/shooter/bullet.cpp
index 55ce3f6e..c589b4db 100644
--- a/examples/shooter/bullet.cpp
+++ b/examples/shooter/bullet.cpp
@@ -1,8 +1,33 @@
#include "bullet.h"
-Bullet::Bullet(const glm::vec4 &bound) : bound_(bound) {}
+Bullet::Bullet(const glm::vec4 &bound, Direction dir, float speed, float depth)
+ : bound_(bound), dir_(dir), speed_(speed), depth_(depth)
+{
+}
+
+void Bullet::draw(yage::SpriteBatch &sp)
+{
+ switch(dir_) {
+ case Direction::UP:
+ bound_.y += speed_;
+ break;
+ case Direction::DOWN:
+ bound_.y -= speed_;
+ break;
+ case Direction::LEFT:
+ bound_.x -= speed_;
+ break;
+ case Direction::RIGHT:
+ bound_.x += speed_;
+ break;
+ }
+ sp.draw(
+ bound_, {0, 0, 1, 1},
+ yage::ResourceManager::getTexture("examples/resources/bullet.png").id,
+ yage::Colour(255, 255, 255, 255), depth_);
+}
-void Bullet::draw(yage::SpriteBatch &sp) const
+glm::vec4 Bullet::position() const
{
- sp.draw(bound_, {0, 0, 1, 1}, yage::ResourceManager::getTexture("examples/resources/bullet.png").id, yage::Colour(255, 255, 255, 255), 0);
+ return bound_;
}