#define TOOLDEF_HEADER
#include <string>
-
-/*
- TODO: Rename to tooldef.h
-*/
+#include <iostream>
struct ToolDiggingProperties
{
float dd_crumbliness;
float dd_cuttability;
- ToolDiggingProperties(float a=0.75, float b=0, float c=0, float d=0, float e=0,
- float f=50, float g=0, float h=0, float i=0, float j=0):
- basetime(a),
- dt_weight(b),
- dt_crackiness(c),
- dt_crumbliness(d),
- dt_cuttability(e),
- basedurability(f),
- dd_weight(g),
- dd_crackiness(h),
- dd_crumbliness(i),
- dd_cuttability(j)
- {}
+ ToolDiggingProperties(
+ float a=0.75, float b=0, float c=0, float d=0, float e=0,
+ float f=50, float g=0, float h=0, float i=0, float j=0);
};
struct ToolDefinition
imagename(imagename_),
properties(properties_)
{}
+
+ std::string dump();
+ void serialize(std::ostream &os);
+ void deSerialize(std::istream &is);
};
class IToolDefManager
virtual std::string getImagename(const std::string &toolname) const =0;
virtual ToolDiggingProperties getDiggingProperties(
const std::string &toolname) const =0;
+
+ virtual void serialize(std::ostream &os)=0;
};
class IWritableToolDefManager : public IToolDefManager
const std::string &toolname) const =0;
virtual bool registerTool(std::string toolname, const ToolDefinition &def)=0;
+ virtual void clear()=0;
+
+ virtual void serialize(std::ostream &os)=0;
+ virtual void deSerialize(std::istream &is)=0;
};
IWritableToolDefManager* createToolDefManager();