]> git.localhorst.tv Git - blobs.git/blobdiff - src/app/app.cpp
figure out our creature's metabolism
[blobs.git] / src / app / app.cpp
index ccccd9a6c15c5b2590e8a27b0274c74541c1451e..b3ae4780ec6c5147a315d227fb11aa66e0b89d5c 100644 (file)
@@ -242,6 +242,19 @@ void Assets::ReadResources(io::TokenStreamReader &in) {
                        in.Skip(io::Token::EQUALS);
                        if (name == "label") {
                                in.ReadString(data.resources[id].label);
+                       } else if (name == "state") {
+                               in.ReadIdentifier(name);
+                               if (name == "solid") {
+                                       data.resources[id].state = world::Resource::SOLID;
+                               } else if (name == "liquid") {
+                                       data.resources[id].state = world::Resource::LIQUID;
+                               } else if (name == "gas") {
+                                       data.resources[id].state = world::Resource::GAS;
+                               } else if (name == "plasma") {
+                                       data.resources[id].state = world::Resource::PLASMA;
+                               } else {
+                                       throw std::runtime_error("unknown resource state '" + name + "'");
+                               }
                        } else {
                                throw std::runtime_error("unknown resource property '" + name + "'");
                        }