-
Notifications
You must be signed in to change notification settings - Fork 2
/
Government_Position.hpp
50 lines (41 loc) 路 1.21 KB
/
Government_Position.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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#pragma once
#ifndef WORLDSIM_GOVERNMENT_POSITION_HPP
#define WORLDSIM_GOVERNMENT_POSITION_HPP
/* WorldSim: Government_Position.hpp
#include "Government_Position.hpp"
*/
class Government;
class Government_Position
{
public:
Government* government;
Character* character;
Government_Position(Government* _government);
Government_Position(const Government_Position& other);
Government_Position& operator=(const Government_Position& other);
virtual ~Government_Position() = default;
bool operator==(const Character* otherCharacter) const;
virtual void governDaily() = 0;
virtual void assign(Character* _character);
bool empty();
};
class Government_Leader : public Government_Position, public CanRequestItem
{
public:
Government_Leader(Government* _government);
virtual void governDaily() override;
virtual void recieveRequestedItem(Item* item) override;
};
class Government_Scribe : public Government_Position
{
public:
Government_Scribe(Government* _government);
virtual void governDaily() override;
};
class Government_Captain : public Government_Position
{
public:
Government_Captain(Government* _government);
virtual void governDaily() override;
};
#endif // WORLDSIM_GOVERNMENT_POSITION_HPP