]> git.localhorst.tv Git - blobs.git/blob - src/world/Resource.hpp
17df3244955e55e58b2a540666e02f70ad1f0a84
[blobs.git] / src / world / Resource.hpp
1 #ifndef BLOBS_WORLD_RESOURCE_HPP_
2 #define BLOBS_WORLD_RESOURCE_HPP_
3
4 #include "../math/glm.hpp"
5
6 #include <map>
7 #include <string>
8
9
10 namespace blobs {
11 namespace world {
12
13 struct Resource {
14
15         std::string name = "";
16         std::string label = "";
17
18         double density = 1.0;
19         double energy = 1.0;
20         double inverse_energy = 1.0;
21
22         int id = -1;
23
24         enum State {
25                 SOLID = 0,
26                 LIQUID = 1,
27                 GAS = 2,
28                 PLASMA = 3,
29         };
30         // the resource's natural state
31         // TODO: something about temperature and pressure and stuff
32         int state = SOLID;
33
34         glm::dvec3 base_color = glm::dvec3(1.0);
35
36         std::map<int, double> compatibility;
37
38 };
39
40 }
41 }
42
43 #endif