// Unequip the currently Active item, if one exists private void UnequipActiveItem() { if (ActiveItem != null) { ActiveItem.transform.SetParent(_itemRoot); ActiveItem.gameObject.SetActive(false); ItemUnEquipped?.Invoke(ActiveItem); } }
public void Equip(IItem item) { if (ActiveItem != null) { ActiveItem.transform.SetParent(_itemRoot); ActiveItem.gameObject.SetActive(false); ItemUnEquipped?.Invoke(ActiveItem); } Debug.Log($"Equipped Item: {item.gameObject.name}"); item.transform.SetParent(rightHand); item.transform.localPosition = Vector3.zero; item.transform.localRotation = Quaternion.identity; ActiveItem = item; ActiveItem.gameObject.SetActive(true); ActiveItemChanged?.Invoke(ActiveItem); ItemEquipped?.Invoke(item); }