|
|
- #ifndef SPELL_WARZ_ELEMENT_HPP
- #define SPELL_WARZ_ELEMENT_HPP 1
-
- #include <string>
-
- class Element
- {
- protected:
- std::string name;
- Element *strongAgainst;
- Element *weakAgainst;
-
- public:
- static int WEAK_COMPATIBILITY;
- static int NEUTRAL_COMPATIBILITY;
- static int STRONG_COMPATIBILITY;
-
- Element(std::string elementName,
- Element *elementWeakAgainst = nullptr,
- Element *elementStrongAgainst = nullptr);
- std::string getName();
- void setStrongAgainst(Element *element);
- void setWeakAgainst(Element *element);
- bool isStrongAgainst(Element *element);
- bool isWeakAgainst(Element *element);
- int compatibilityAgainst(Element *element);
- bool operator<(Element &rhs);
- };
-
- #endif
|