X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Fmaterials.h;h=f061ecbfa5eb7075c5fe0e4463fad10ff6279301;hb=7efe89ff584b2c0338dcede4c1e08504d0158780;hp=4221497536885028b6c55215d7d4bb7bde029525;hpb=fa64103aa87a8f0f2a3351bb4a54e93e8ade1082;p=dragonfireclient.git diff --git a/src/materials.h b/src/materials.h index 422149753..f061ecbfa 100644 --- a/src/materials.h +++ b/src/materials.h @@ -25,7 +25,6 @@ with this program; if not, write to the Free Software Foundation, Inc., */ #include "common_irrlicht.h" -#include "inventory.h" #include struct DiggingProperties @@ -49,20 +48,26 @@ struct DiggingProperties u16 wear; }; -class MaterialProperties +/* + This is a bad way of determining mining characteristics. + TODO: Get rid of this and set up some attributes like toughness, + fluffyness, and a funciton to calculate time and durability loss + (and sound? and whatever else) from them +*/ +class DiggingPropertiesList { public: - MaterialProperties() + DiggingPropertiesList() { } - void setDiggingProperties(const std::string toolname, + void set(const std::string toolname, const DiggingProperties &prop) { m_digging_properties[toolname] = prop; } - DiggingProperties getDiggingProperties(const std::string toolname) + DiggingProperties get(const std::string toolname) { core::map::Node *n; n = m_digging_properties.find(toolname); @@ -80,16 +85,17 @@ class MaterialProperties return n->getValue(); } + void clear() + { + m_digging_properties.clear(); + } + private: // toolname="": default properties (digging by hand) // Key is toolname core::map m_digging_properties; }; -void initializeMaterialProperties(); - -// Material correspond to the CONTENT_* constants -MaterialProperties * getMaterialProperties(u8 material); // For getting the default properties, set tool="" DiggingProperties getDiggingProperties(u8 material, const std::string &tool);