diff options
author | Perttu Ahola <celeron55@gmail.com> | 2011-04-05 02:56:29 +0300 |
---|---|---|
committer | Perttu Ahola <celeron55@gmail.com> | 2011-04-05 02:56:29 +0300 |
commit | d1d57cf5c34c9a4626fd8e3b40db3ea321b40335 (patch) | |
tree | e263dcc5268f514f43521d2df86640a96be94e96 /src/nodemetadata.h | |
parent | 281f76b6a07393906cb532bed95d5d98f0791c3a (diff) | |
download | minetest-d1d57cf5c34c9a4626fd8e3b40db3ea321b40335.tar.gz minetest-d1d57cf5c34c9a4626fd8e3b40db3ea321b40335.tar.bz2 minetest-d1d57cf5c34c9a4626fd8e3b40db3ea321b40335.zip |
initial workings of the furnace
Diffstat (limited to 'src/nodemetadata.h')
-rw-r--r-- | src/nodemetadata.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/nodemetadata.h b/src/nodemetadata.h index e8aa57622..c38ab1310 100644 --- a/src/nodemetadata.h +++ b/src/nodemetadata.h @@ -59,6 +59,8 @@ public: // This is called always after the inventory is modified, before // the changes are copied elsewhere virtual void inventoryModified(){} + // A step in time. Returns true if metadata changed. + virtual bool step(float dtime) {return false;} protected: static void registerType(u16 id, Factory f); @@ -115,15 +117,23 @@ public: virtual std::string infoText(); virtual Inventory* getInventory() {return m_inventory;} virtual void inventoryModified(); + virtual bool step(float dtime); private: Inventory *m_inventory; + float m_step_accumulator; + float m_fuel_totaltime; + float m_fuel_time; + float m_src_totaltime; + float m_src_time; }; /* List of metadata of all the nodes of a block */ +class InventoryManager; + class NodeMetadataList { public: @@ -138,6 +148,10 @@ public: void remove(v3s16 p); // Deletes old data and sets a new one void set(v3s16 p, NodeMetadata *d); + + // A step in time. Returns true if something changed. + bool step(float dtime); + private: core::map<v3s16, NodeMetadata*> m_data; }; |