WorldSim  inDev
2D tile-based sandbox RPG with procedurally generated fantasy world simulator 🌏
WorldObject_Flora.hpp
Go to the documentation of this file.
1 #pragma once
2 #ifndef WORLDSIM_WORLDOBJECT_FLORA_HPP
3 #define WORLDSIM_WORLDOBJECT_FLORA_HPP
4 
5 /* WorldObject_Flora.hpp
6  #include"WorldObject_Flora.hpp"
7 
8  Flora is plants or trees. They generally don't do anything except grow
9  and provide resources for Creatures and NPCs. They can also be planted.
10 
11  Trees generally block movement and LOS, and plants generally don't.
12 
13  There can only be 1 flora per tile.
14 
15  Flora growth can easily be abstracted into X ticks per day.
16 
17 */
18 
20 {
21  public:
22 
23  std::string name; // Name of the flora, for example "Red Mushroom".
24 
25  // Determines the stage of growth the plant is at. Can determine harvest yield.
26  int growth;
27 
29  virtual ~WorldObject_Flora() {}
30 
31  virtual std::string getName() override;
32  virtual Texture* currentTexture() override;
33 
34  virtual void generate();
35 };
36 
37 
39 {
40  public:
42  virtual ~Flora_Blackweed() {}
43 
44  virtual std::string getName() override;
45  virtual Texture* currentTexture() override;
46 };
47 
49 {
50  public:
51  Flora_Redweed();
52  virtual ~Flora_Redweed() {}
53 
54  virtual std::string getName() override;
55  virtual Texture* currentTexture() override;
56 };
57 
59 {
60  public:
62  virtual ~Flora_Blueweed() {}
63 
64  virtual std::string getName() override;
65  virtual Texture* currentTexture() override;
66 };
67 
68 #endif
int growth
Definition: WorldObject_Flora.hpp:26
virtual ~Flora_Blackweed()
Definition: WorldObject_Flora.hpp:42
std::string name
Definition: WorldObject_Flora.hpp:23
Definition: WorldObject.hpp:18
virtual Texture * currentTexture() override
Definition: WorldObject_Flora.cpp:35
virtual ~WorldObject_Flora()
Definition: WorldObject_Flora.hpp:29
Definition: WorldObject_Flora.hpp:48
Definition: WorldObject_Flora.hpp:19
virtual void generate()
Definition: WorldObject_Flora.cpp:44
Definition: WorldObject_Flora.hpp:58
virtual ~Flora_Redweed()
Definition: WorldObject_Flora.hpp:52
WorldObject_Flora()
Definition: WorldObject_Flora.cpp:15
virtual std::string getName() override
Definition: WorldObject_Flora.cpp:29
virtual ~Flora_Blueweed()
Definition: WorldObject_Flora.hpp:62
Definition: WorldObject_Flora.hpp:38