1234567891011121314151617181920212223242526272829303132333435 |
- #pragma once
- #include <ReferenceCounter.h>
- #include <Text.h>
- #include "Item.h"
- class ItemModifier : public virtual Framework::ReferenceCounter
- {
- public:
- ItemModifier();
- virtual void applyOn(Item* zItem) = 0;
- };
- class AttributeItemModifier : public ItemModifier
- {
- private:
- Framework::Text attribute;
- Framework::Text value;
- public:
- AttributeItemModifier(Framework::Text attribute, Framework::Text value);
- void applyOn(Item* zItem) override;
- };
- class CombinedItemModifier : public ItemModifier
- {
- Framework::RCArray<ItemModifier> modifiers;
- public:
- CombinedItemModifier();
- void addModifier(ItemModifier* modifier);
- void applyOn(Item* zItem) override;
- };
|