From d1d57cf5c34c9a4626fd8e3b40db3ea321b40335 Mon Sep 17 00:00:00 2001 From: Perttu Ahola Date: Tue, 5 Apr 2011 02:56:29 +0300 Subject: initial workings of the furnace --- src/nodemetadata.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/nodemetadata.h') 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 m_data; }; -- cgit v1.2.3