Custom Item_SOs
Create a Custom Item_SO & Use Behaviour
1
2
Implement the Use Method / Behaviour
public override void Use(InventoryProManager inventoryProManager, InventorySlot slot)
{
base.Use(inventoryProManager, slot);
}public override void Use(InventoryProManager inventoryProManager, InventorySlot slot)
{
// Access PlayerMultiplier reference
PlayerMultipliers multiplier = inventoryProManager._WeaponController.GetComponent<PlayerMultipliers>();
// Increases Heal Multiplier
multiplier.healMultiplier += healMultiplierToAdd;
// base.Use ensures the item is consumed.
base.Use(inventoryProManager, slot);
}3
Final Script
using cowsins;
using UnityEngine;
[CreateAssetMenu(fileName = "newPotionInventoryItem", menuName = "COWSINS/Inventory/Showcase Items/New Potion")]
public class AppleItem_SO : Item_SO
{
public float healMultiplierToAdd = .1f;
public override void Use(InventoryProManager inventoryProManager, InventorySlot slot)
{
// Access PlayerMultiplier reference
PlayerMultipliers multiplier = inventoryProManager._WeaponController.GetComponent<PlayerMultipliers>();
// Increases Heal Multiplier
multiplier.healMultiplier += healMultiplierToAdd;
// base.Use ensures the item is consumed.
base.Use(inventoryProManager, slot);
}
}using cowsins;
using UnityEngine;
[CreateAssetMenu(fileName = "newInventoryItem", menuName = "COWSINS/Inventory/Showcase Items/New Item")]
public class ItemNametem_SO : Item_SO
{
// Your variables go here.
public override void Use(InventoryProManager inventoryProManager, InventorySlot slot)
{
// Custom Use Logic goes here.
base.Use(inventoryProManager, slot);
}
}Last updated