aboutsummaryrefslogtreecommitdiffstats
path: root/examples/shooter/player.h
diff options
context:
space:
mode:
Diffstat (limited to 'examples/shooter/player.h')
-rw-r--r--examples/shooter/player.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/examples/shooter/player.h b/examples/shooter/player.h
new file mode 100644
index 00000000..8b5121c5
--- /dev/null
+++ b/examples/shooter/player.h
@@ -0,0 +1,36 @@
+#ifndef EXAMPLE_SHOOTER_PLAYER_H
+#define EXAMPLE_SHOOTER_PLAYER_H
+
+#include <yage/yage.h>
+
+#include "direction.h"
+
+enum class Action {
+ IDLE,
+ MOVING,
+};
+
+class Player : public yage::Drawable
+{
+public:
+ Player(const glm::vec4 &bound, const yage::Texture &texture);
+
+ void setTexture(const yage::Texture &texture);
+
+ void draw(yage::SpriteBatch &sp);
+
+ void move(Direction direction);
+ void idle();
+ void look(Direction direction);
+
+ // simple getters
+ glm::vec4 position() const;
+private:
+ glm::vec4 bound_;
+ yage::Texture texture_;
+ Direction direction_;
+ Action action_;
+ int speed_;
+};
+
+#endif