-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathCreature_Species.hpp
50 lines (31 loc) · 1.01 KB
/
Creature_Species.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_CREATURE_SPECIES_HPP
#define WORLDSIM_CREATURE_SPECIES_HPP
/* WorldSim: Creature_Species
#include "Creature_Species.hpp"
Meta information about all Creatures of a certain type.
Creature instances should be generated from here.
This is necessary because unlike something like Flora, Creatures may have individually different attributes.
*/
#include <Container/Table/TableInterface.hpp>
#include <Interface/HasTexture.hpp>
class Creature;
class World_Biome;
class Creature_Species: public TableInterface, public HasTexture
{
public:
World_Biome* biome;
std::string name;
int spawnWeight;
Texture* baseTexture;
Creature_Species(std::string _name, int _spawnWeight);
// return an instance of this species
Creature* spawn();
void setBaseTexture(Texture* _texture);
// TABLE INTERFACE
std::string getColumn(std::string _column) override;
std::string getColumnType(std::string _column) override;
// HASTEXTURE
Texture* currentTexture () override;
};
#endif