- static NodeMetadata* deSerialize(std::istream &is);
- void serialize(std::ostream &os);
-
- // This usually is the CONTENT_ value
- virtual u16 typeId() const = 0;
- virtual NodeMetadata* clone() = 0;
- virtual void serializeBody(std::ostream &os) = 0;
- virtual std::string infoText() {return "";}
- virtual Inventory* getInventory() {return NULL;}
- // 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;}
- virtual bool nodeRemovalDisabled(){return false;}
-
-protected:
- static void registerType(u16 id, Factory f);
-private:
- static core::map<u16, Factory> m_types;
-};
-
-class SignNodeMetadata : public NodeMetadata
-{
-public:
- SignNodeMetadata(std::string text);
- //~SignNodeMetadata();