class SignNodeMetadata : public NodeMetadata
{
public:
- SignNodeMetadata(std::string text);
+ SignNodeMetadata(IGameDef *gamedef, std::string text);
//~SignNodeMetadata();
virtual u16 typeId() const;
- static NodeMetadata* create(std::istream &is);
- virtual NodeMetadata* clone();
+ static NodeMetadata* create(std::istream &is, IGameDef *gamedef);
+ virtual NodeMetadata* clone(IGameDef *gamedef);
virtual void serializeBody(std::ostream &os);
virtual std::string infoText();
- std::string getText(){ return m_text; }
- void setText(std::string t){ m_text = t; }
+ virtual bool allowsTextInput(){ return true; }
+ virtual std::string getText(){ return m_text; }
+ virtual void setText(const std::string &t){ m_text = t; }
private:
std::string m_text;
class ChestNodeMetadata : public NodeMetadata
{
public:
- ChestNodeMetadata();
+ ChestNodeMetadata(IGameDef *gamedef);
~ChestNodeMetadata();
virtual u16 typeId() const;
- static NodeMetadata* create(std::istream &is);
- virtual NodeMetadata* clone();
+ static NodeMetadata* create(std::istream &is, IGameDef *gamedef);
+ virtual NodeMetadata* clone(IGameDef *gamedef);
virtual void serializeBody(std::ostream &os);
virtual std::string infoText();
virtual Inventory* getInventory() {return m_inventory;}
class LockingChestNodeMetadata : public NodeMetadata
{
public:
- LockingChestNodeMetadata();
+ LockingChestNodeMetadata(IGameDef *gamedef);
~LockingChestNodeMetadata();
virtual u16 typeId() const;
- static NodeMetadata* create(std::istream &is);
- virtual NodeMetadata* clone();
+ static NodeMetadata* create(std::istream &is, IGameDef *gamedef);
+ virtual NodeMetadata* clone(IGameDef *gamedef);
virtual void serializeBody(std::ostream &os);
virtual std::string infoText();
virtual Inventory* getInventory() {return m_inventory;}
class FurnaceNodeMetadata : public NodeMetadata
{
public:
- FurnaceNodeMetadata();
+ FurnaceNodeMetadata(IGameDef *gamedef);
~FurnaceNodeMetadata();
virtual u16 typeId() const;
- virtual NodeMetadata* clone();
- static NodeMetadata* create(std::istream &is);
+ virtual NodeMetadata* clone(IGameDef *gamedef);
+ static NodeMetadata* create(std::istream &is, IGameDef *gamedef);
virtual void serializeBody(std::ostream &os);
virtual std::string infoText();
virtual Inventory* getInventory() {return m_inventory;}