WorldSim  inDev
2D tile-based sandbox RPG with procedurally generated fantasy world simulator 🌏
Job.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #include <Container/Vector/Vector.hpp>
4 
5 #include "Item_Attributes.hpp"
6 
7 class Job
8 {
9 public:
11  ItemAction requiredAction; /* The required action(s) for the job. */
12 
14 
15  enumLocation requiredLocation; // Set to LOCATION_NONE if location not needed.
16 
20 
22 
23  Job();
24  virtual ~Job();
25 
26  virtual bool canDoJob();
27  virtual int jobValue();
28  virtual Item* getBestItem(Vector<Item*>* vItem);
29  virtual Item* getBestItem(Item* item1, Item* item2);
30 
31  virtual std::string getName();
32 };
33 
34 class Job_Woodcutting : public Job
35 {
36 public:
38 
39  virtual std::string getName() override;
40 };
41 
42 class Job_Mining : public Job
43 {
44 public:
45  Job_Mining();
46 
47  virtual std::string getName() override;
48 };
49 
50 class Job_Farming : public Job
51 {
52 public:
53  Job_Farming();
54 
55  virtual std::string getName() override;
56 };
57 
58 class Job_Prospecting: public Job
59 {
60  public:
62 
63  virtual std::string getName() override;
64 };
65 
66 class Job_Hunting : public Job
67 {
68 public:
69  Job_Hunting();
70 
71  virtual std::string getName() override;
72 };
ItemAction
Definition: Driver_Settings_Enums.hpp:243
enumJob type
Definition: Job.hpp:21
enumLocation
Definition: Driver_Settings_Enums.hpp:76
virtual int jobValue()
Definition: Job.cpp:33
Definition: Job.hpp:34
Definition: Item_Attributes.hpp:14
Definition: Item.hpp:51
Definition: Job.hpp:7
enumLocation requiredLocation
Definition: Job.hpp:15
Job()
Definition: Job.cpp:14
Definition: Job.hpp:50
enumJob
Definition: Driver_Settings_Enums.hpp:215
int desiredMiningValue
Definition: Job.hpp:19
Definition: Job.hpp:42
virtual bool canDoJob()
Definition: Job.cpp:28
virtual ~Job()
Definition: Job.cpp:24
Definition: Job.hpp:58
int desiredWoodcuttingValue
Definition: Job.hpp:17
Item_Attributes desiredItemAttributes
Definition: Job.hpp:13
virtual Item * getBestItem(Vector< Item *> *vItem)
Definition: Job.cpp:38
Definition: Job.hpp:66
int desiredFarmingValue
Definition: Job.hpp:18
virtual std::string getName()
Definition: Job.cpp:76
ItemAction requiredAction
Definition: Job.hpp:11
bool requiresItem
Definition: Job.hpp:10