/
base.hpp
36 lines (32 loc) · 893 Bytes
/
base.hpp
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
#pragma once
#include "tower.hpp"
#include "buffTower.hpp"
class base :public tower
{
void loadTexture();
void setAttributes();
public:
base();
~base();
void draw(sf::RenderTarget & target, sf::RenderStates states) const;
void update();
void upgrade();
void unactiveHUD() override;
void activateHUD() override;
tower::workshopHandler *getWorkshopTemplate() override;
tower::shopTemplate *getShopTemplate() override;
std::shared_ptr<tower> getClassObject();
bool mouseOnHUD(const sf::Vector2f mousePos);
void addBuff(buff buffer) override;
class workshopHandler;
};
class base::workshopHandler : public tower::workshopHandler
{
base *owner;
public:
workshopHandler(base *ownr);
void join(class workshop *ws) override;
void draw(sf::RenderTarget & target, sf::RenderStates states) const;
void update() override;
void set() override;
};