public void TriggerItemAction(InventoryItemAction action, int itemId) { switch (action) { case InventoryItemAction.EQUIP: if (ItemEquipped != null) { ItemEquipped(itemId); } break; case InventoryItemAction.CONSUME: if (ItemConsumed != null) { ItemConsumed(itemId); } break; case InventoryItemAction.DESTROY: if (ItemDestroyed != null) { ItemDestroyed(itemId); } break; } }
// Triggers the inventory event corresponding to the passed // action taken upon this item. void TriggerItemAction(InventoryItemAction action) { if (action == InventoryItemAction.CONSUME) { item.TriggerBehavior(ItemBehaviorType.CONSUMABLE); inventory.RemoveItem(item.Id, 1); } else if (action == InventoryItemAction.EQUIP) { item.TriggerBehavior(ItemBehaviorType.EQUIPABLE); } else if (action == InventoryItemAction.USE) { item.TriggerBehavior(ItemBehaviorType.USEABLE); inventory.RemoveItem(item.Id, 1); } else if (action == InventoryItemAction.DESTROY) { item.TriggerBehavior(ItemBehaviorType.DESTROYABLE); inventory.RemoveItem(item.Id, 1); } }