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.cpp33
1 files changed, 33 insertions, 0 deletions
diff --git a/examples/shooter/bullet.cpp b/examples/shooter/bullet.cpp
new file mode 100644
index 00000000..c589b4db
--- /dev/null
+++ b/examples/shooter/bullet.cpp
@@ -0,0 +1,33 @@
+#include "bullet.h"
+
+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_);
+}
+
+glm::vec4 Bullet::position() const
+{
+ return bound_;
+}