-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgun.h
40 lines (28 loc) · 848 Bytes
/
gun.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#ifndef GUN_H_
#define GUN_H_
#include "game_object.h"
#include "task.h"
#include "bullet.h"
#include "big_bullet.h"
#include <random>
#include <glm/gtc/matrix_transform.hpp>
namespace game {
enum GunType {
STANDARD,
HEAVY,
};
class Gun : public Task {
public:
Gun(const glm::vec3& position, Geometry* geom, Shader* shader, bool frieindly, GunType type = STANDARD);
Gun(const glm::vec3& position, Geometry* geom, Shader* shader, GLuint texture, bool friendly, GunType type = STANDARD);
~Gun();
// Update function for moving the player object around
void Update(double delta_time, GuiState* gui_state) override;
bool PerformTask(float efficiency_modifier) override;
protected:
void Fire();
GunType gun_type_;
bool friendly_;
};
}
#endif