protected void EquipSelectedHeldItem() { EquippedHoldableItem newItem = heldSocket.Equip(holdableItems[selectedHeldItem], myPawn); if (newItem is Weapon && myPawn) { myPawn.equippedWeapon = newItem as Weapon; } }
//Returns the gameobject of the item equipped public virtual EquippedHoldableItem Equip(EquippedHoldableItem item, Pawn equipper) { if (EquippedItem) { //Maybe just toggle gameObject on and off, instead of instantiating and destroying EquippedItem.OnUnequip(equipper); EquippedItem.gameObject.SetActive(false); EquippedItem = null; } if (item) { item.gameObject.SetActive(true); EquippedItem = item; EquippedItem.OnEquip(equipper); } return(EquippedItem); }