diff options
Diffstat (limited to 'Minecraft.World/AttributeInstance.h')
| -rw-r--r-- | Minecraft.World/AttributeInstance.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/Minecraft.World/AttributeInstance.h b/Minecraft.World/AttributeInstance.h new file mode 100644 index 00000000..e127f1a7 --- /dev/null +++ b/Minecraft.World/AttributeInstance.h @@ -0,0 +1,22 @@ +#pragma once +#include "AttributeModifier.h" + +class AttributeInstance +{ +public: + virtual ~AttributeInstance() {} + + virtual Attribute *getAttribute() = 0; + virtual double getBaseValue() = 0; + virtual void setBaseValue(double baseValue) = 0; + virtual double getValue() = 0; + + virtual unordered_set<AttributeModifier *> *getModifiers(int operation) = 0; + virtual void getModifiers(unordered_set<AttributeModifier *>& result) = 0; + virtual AttributeModifier *getModifier(eMODIFIER_ID id) = 0; + virtual void addModifiers(unordered_set<AttributeModifier *> *modifiers) = 0; + virtual void addModifier(AttributeModifier *modifier) = 0; + virtual void removeModifier(AttributeModifier *modifier) = 0; + virtual void removeModifier(eMODIFIER_ID id) = 0; + virtual void removeModifiers() = 0; +};
\ No newline at end of file |
