WorldSim  inDev
2D tile-based sandbox RPG with procedurally generated fantasy world simulator 🌏
Technology.hpp
Go to the documentation of this file.
1 #pragma once
2 #ifndef WORLDSIM_TECHNOLOGY_HPP
3 #define WORLDSIM_TECHNOLOGY_HPP
4 
5 /* WorldSim: Technology.hpp
6  #include "Technology.hpp"
7 
8  Manage the tech tree.
9 
10  Each Civ and Settlement manage their own tech progress.
11 
12 */
13 
14 
15 #include <string> // For std::string
16 
17 #include "Idea.hpp"
18 
20 {
21 public:
23  {
31  };
32 
39 
40  Technology();
41 
42  // This is bad design and I will fix it later with pointers.
43  void addIdea(Idea);
44  bool isSpecialIdea(Idea);
46 
48  std::string techToString(TECHNOLOGY_TYPE tech);
49 
50  void print();
51 };
52 
54 {
55  public:
57  std::string discoveryText();
58 };
59 
61 {
62  public:
64 };
65 
66 #endif // WORLDSIM_TECHNOLOGY_HPP
int manufacturingLevel
Definition: Technology.hpp:35
Definition: Technology.hpp:29
Definition: Technology.hpp:26
int agricultureLevel
Definition: Technology.hpp:38
Definition: Technology.hpp:28
Definition: Technology.hpp:60
Definition: Technology.hpp:24
int militaryLevel
Definition: Technology.hpp:37
void addIdea(Idea)
Definition: Technology.cpp:17
Definition: Technology.hpp:30
void print()
Definition: Technology.cpp:124
bool isSpecialIdea(Idea)
Definition: Technology.cpp:83
Definition: Technology.hpp:53
Definition: Technology.hpp:25
Definition: Technology.hpp:19
Definition: Idea.hpp:49
TECHNOLOGY_TYPE
Definition: Technology.hpp:22
Definition: Idea.hpp:18
SpecialIdea addSpecialIdea(Idea)
Definition: Technology.cpp:52
int smeltingLevel
Definition: Technology.hpp:34
TECHNOLOGY_TYPE advance()
Definition: Technology.cpp:106
Technology()
Definition: Technology.cpp:7
std::string techToString(TECHNOLOGY_TYPE tech)
Definition: Technology.cpp:112
int astronomyLevel
Definition: Technology.hpp:36
Definition: Technology.hpp:27
int miningLevel
Definition: Technology.hpp:33