1 #ifndef TOWER_DEFENCE_2_TOWER_H 2 #define TOWER_DEFENCE_2_TOWER_H 15 Tower(
double x,
double y,
double radius,
int damage,
double attack_range,
16 double attack_speed,
TowerType *tower_type);
21 Tower *upgrade(
int index);
30 TowerType(
const std::string &name,
int cost,
int damage,
31 double attack_range,
double attack_speed);
36 std::string name()
const;
37 const int cost()
const;
38 const int damage()
const;
39 std::vector<TowerType *> upgrade_options()
const;
40 const double attack_range()
const;
41 const double attack_speed()
const;
44 void add_upgrade_option(
TowerType *tower_type);
47 Tower * create_tower(
double x,
double y);
51 const std::string m_name;
59 std::vector<TowerType *> m_upgrade_options;
68 #endif //TOWER_DEFENCE_2_TOWER_H
Tower class.
Definition: tower.h:13
int m_damage
Amount of damage each hit deals.
Definition: object.h:87
double m_attack_speed
Attack speed, how fast does the object deal damage.
Definition: object.h:89
double m_attack_range
Attack range, how far can the object deal damage.
Definition: object.h:91
Description for creating new towers.
Definition: tower.h:28