| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- #pragma once
- #include "ItemType.h"
- #include "Reader.h"
- class Item : public virtual Framework::ReferenceCounter
- {
- private:
- ItemType *zType;
- float damage;
- float maxDamage;
- float durability;
- float maxDurability;
- bool eatable;
- bool placeable;
- bool equippable;
- int maxStackSize;
- Framework::Text name;
- private:
- Item( ItemType *zType, float damage );
- Item( ItemType *zType );
- Item( Item *zClone );
- Item( Framework::StreamReader *zItemInfo );
- public:
- virtual void tick();
- const ItemType *zItemType() const;
- float getDamage() const;
- float getDurability() const;
- bool isEatable() const;
- bool isPlaceable() const;
- bool isEquippable() const;
- float getMaxDurability() const;
- int getMaxStackSize() const;
- float getMaxDamage() const;
- virtual void applyInventoryEffects( Entity *zTarget );
- virtual void removeInventoryEffects( Entity *zTarget );
- virtual void applyEquippedEffects( Entity *zTarget );
- virtual void removeEquippedEffects( Entity *zTarget );
- virtual void applyFoodEffects( Entity *zTarget );
- friend ItemType;
- };
|