WorldSim  inDev
2D tile-based sandbox RPG with procedurally generated fantasy world simulator 🌏
Creature_Species.hpp
Go to the documentation of this file.
1 #pragma once
2 #ifndef WORLDSIM_CREATURE_SPECIES_HPP
3 #define WORLDSIM_CREATURE_SPECIES_HPP
4 
5 /* WorldSim: Creature_Species
6  #include "Creature_Species.hpp"
7 
8  Meta information about all Creatures of a certain type.
9 
10  Creature instances should be generated from here.
11 
12  This is necessary because unlike something like Flora, Creatures may have individually different attributes.
13 */
14 
15 #include <Container/Table/TableInterface.hpp>
16 
17 #include <Interface/HasTexture.hpp>
18 
19 
20 class Creature;
21 class World_Biome;
22 
23 class Creature_Species: public TableInterface, public HasTexture
24 {
25  public:
26 
28 
29  std::string name;
31 
32  Texture* baseTexture;
33 
34  Creature_Species(std::string _name, int _spawnWeight);
35 
36  // return an instance of this species
37  Creature* spawn();
38 
39  void setBaseTexture(Texture* _texture);
40 
41  // TABLE INTERFACE
42  std::string getColumn(std::string _column) override;
43  std::string getColumnType(std::string _column) override;
44 
45  // HASTEXTURE
46  Texture* currentTexture () override;
47 
48 };
49 
50 #endif
int spawnWeight
Definition: Creature_Species.hpp:30
Texture * baseTexture
Definition: Creature_Species.hpp:32
Creature_Species(std::string _name, int _spawnWeight)
Definition: Creature_Species.cpp:15
Definition: Creature.hpp:34
Texture * currentTexture() override
Definition: Creature_Species.cpp:49
Definition: World_Biome.hpp:46
std::string getColumnType(std::string _column) override
Definition: Creature_Species.cpp:38
World_Biome * biome
Definition: Creature_Species.hpp:27
void setBaseTexture(Texture *_texture)
Definition: Creature_Species.cpp:43
std::string name
Definition: Creature_Species.hpp:29
std::string getColumn(std::string _column) override
Definition: Creature_Species.cpp:30
Definition: Creature_Species.hpp:23
Creature * spawn()
Definition: Creature_Species.cpp:22