Loading...
Searching...
No Matches
AdventureCore.EquipmentItem Class Reference

Detailed Description

prefab item that can modify attributes and stats while it is equipped
whether it is equippable can be restricted with attribute and stat requirements

https://adventure.softleitner.com/manual/item

Inheritance diagram for AdventureCore.EquipmentItem:
AdventureCore.PrefabItem AdventureCore.IAttributeModifier AdventureCore.IStatModifier AdventureCore.ItemBase AdventureCore.DurableEquipmentItem

Public Member Functions

override bool CanEquip (CharacterBase character, InventoryItem inventoryItem)
 checks if the item can be equipped on a character
 
override void OnEquip (CharacterBase character, InventoryItem inventoryItem)
 called when the item gets equipped on a character
can be used to apply effects like attribute modifications
 
override void OnUnequip (CharacterBase character, InventoryItem inventoryItem)
 called when the item gets unequipped from a character
can be used to remove effects like attribute modifications
 
int Modify (AttributeStat stat, int value)
 applies the modification
 
- Public Member Functions inherited from AdventureCore.ItemBase
virtual T OnValueChanging< T > (InventoryBase inventory, InventoryItem inventoryItem, string key, T value)
 called whenever an item value is about to change
gives the item a chance to change the new value or react to the change
for example by enforcing bounds or by unequipping the item
 
virtual ? bool CanAdd (InventoryBase inventory, int quantity=1, bool fully=true)
 checks if a quantity can be added in cases where the adding is handled by OnAdd(InventoryBase, int, out int)
 
virtual bool OnAdd (InventoryBase inventory, int quantity, out int remaining)
 signals to the item that a quantity of it is about to be added to an inventory
gives the item a chance to interfere in that process and do something else instead
for example items that added different items or are used instead of being added
 
virtual void OnAdded (InventoryBase inventory, InventoryItem inventoryItem)
 called when a new inventory item of the item is created in an inventory
 
virtual ? bool CanRemove (InventoryBase inventory, InventoryItem inventoryItem, int quantity=1, bool fully=true)
 checks if a quantity can be added in cases where the adding is handled by OnAdd(InventoryBase, int, out int)
 
virtual void OnRemoved (InventoryBase inventory, InventoryItem inventoryItem)
 signals to the item that a quantity of it has been removed from an inventory
 
virtual bool CanUse (CharacterBase character, InventoryItem inventoryItem, int quantity=1)
 checks if the specified quantity of the item can be used on a character
 
virtual bool OnUse (CharacterBase character, InventoryItem inventoryItem, int quantity=1)
 uses a quantity of the item on a character
 
void Add (CharacterBase character)
 adds one of this item to a character, this method can be called from events in the inspector by dragging the item into the target
 
void Remove (CharacterBase character)
 removes one of this item from a character, this method can be called from events in the inspector by dragging the item into the target
 
void Add (CharacterActionBase action)
 adds one of this item to the character currently associated with an action, this method can be called from events in the inspector by dragging the item into the target
 
void Remove (CharacterActionBase action)
 removes one of this item from the character currently associated with an action, this method can be called from events in the inspector by dragging the item into the target
 
override string ToString ()
 

Public Attributes

AttributeValue[] AttributeRequirements
 
AttributeValue[] StatRequirements
 
AttributeValue[] AttributeValues
 
AttributeStatValue[] StatValues
 
EffectType[] Effects
 
CharacterInstructionBase[] Instructions
 
- Public Attributes inherited from AdventureCore.PrefabItem
Transform Prefab
 
- Public Attributes inherited from AdventureCore.ItemBase
string Key
 
string Name
 
string Description
 
Sprite Image
 
GameObject Visual
 
ItemCategory Category
 
ItemSlotCategory Slot
 

Properties

override bool IsEquippable [get]
 
- Properties inherited from AdventureCore.PrefabItem
override bool IsEquippable [get]
 
- Properties inherited from AdventureCore.ItemBase
virtual bool IsStackable [get]
 whether whether multiple items can be stacked in one inventory item
 
virtual bool IsEquippable [get]
 whether the item can be equipped to a slot
 
virtual bool IsUsable [get]
 whether the item can be used
 
- Properties inherited from AdventureCore.IAttributeModifier
- Properties inherited from AdventureCore.IStatModifier

Member Function Documentation

◆ CanEquip()

override bool AdventureCore.EquipmentItem.CanEquip ( CharacterBase character,
InventoryItem inventoryItem )
inlinevirtual

checks if the item can be equipped on a character

Parameters
characterthe character the item may be equipped on
inventoryItemthe inventory item to equip
Returns
true if the item may be equipped

Reimplemented from AdventureCore.ItemBase.

◆ Modify()

int AdventureCore.EquipmentItem.Modify ( AttributeStat stat,
int value )
inline

applies the modification

Parameters
attributethe stat that will be modified
valuethe value before modification
Returns
the modified value

Implements AdventureCore.IStatModifier.

◆ OnEquip()

override void AdventureCore.EquipmentItem.OnEquip ( CharacterBase character,
InventoryItem inventoryItem )
inlinevirtual

called when the item gets equipped on a character
can be used to apply effects like attribute modifications

Parameters
characterthe character the item is equipped on
inventoryItemthe inventory item to equip

Reimplemented from AdventureCore.ItemBase.

◆ OnUnequip()

override void AdventureCore.EquipmentItem.OnUnequip ( CharacterBase character,
InventoryItem inventoryItem )
inlinevirtual

called when the item gets unequipped from a character
can be used to remove effects like attribute modifications

Parameters
characterthe character the item was equipped on
inventoryItemthe inventory item that was equipped

Reimplemented from AdventureCore.ItemBase.