private void RefreshEquipment() { // Delete any existing child objects that aren't the placeholder image foreach (EquipmentSlot slot in equipmentSlots) { List <Transform> children = new List <Transform>(slot.GetComponentsInChildren <Transform>(true)); children.Remove(slot.transform); foreach (Transform child in children) { if (!child.CompareTag("DontDestroy")) { Destroy(child.gameObject); } else { child.gameObject.SetActive(true); } } } // Creates new UI items and assigns the relevant equipment from the player equipment list foreach (Equipment equipment in EquipmentManager.instance.playerEquipment) { EquipmentSlot thisSlot = null; foreach (EquipmentSlot slot in equipmentSlots) { if (equipment.EquipmentType == slot.slotType) { thisSlot = slot; break; } } if (thisSlot != null) { thisSlot.placeholderImage.SetActive(false); GameObject uiItem = Instantiate(equipmentItemPrefab, thisSlot.transform); AssociatedEquipment uiEquipment = uiItem.GetComponent <AssociatedEquipment>(); uiEquipment.equipment = equipment; Image icon = uiItem.transform.GetChild(0).GetComponent <Image>(); icon.sprite = uiEquipment.equipment.equipmentProfile.equipmentIcon; uiItem.tag = "EquipmentSlot"; } else { Debug.LogError("Error in allocating an equipment UI item to an equipment slot."); } } EventManager.TriggerEvent("UpdateInventory"); EquipmentManager.instance.RecalcEquipmentEffects(); }
private void RefreshInventory() { //Debug.Log("Refreshing inventory"); foreach (Transform child in itemsParent.transform) { Destroy(child.gameObject); } foreach (Equipment item in EquipmentManager.instance.playerInventory) { GameObject uiItem = Instantiate(equipmentItemPrefab, itemsParent.transform); uiItem.tag = "EquipmentItem"; List <Image> images = new List <Image>(uiItem.GetComponentsInChildren <Image>()); images[1].sprite = item.EquipmentIcon; AssociatedEquipment assEquipment = uiItem.GetComponent <AssociatedEquipment>(); assEquipment.equipment = item; } }
public void OnDrop(PointerEventData data) { EventManager.TriggerEvent("UIRelease"); AssociatedEquipment assEquip = data.pointerDrag.GetComponent <AssociatedEquipment>(); Equipment equipment = assEquip.equipment; HangarController.instance.hangarUi.equipmentStatsModal.SetActive(false); if (equipment.isEquipped && !CompareTag("EquipmentSlot")) // If the item is equipped and icon has been dropped on inventory { EquipmentManager.instance.UnequipItem(equipment, true); Destroy(assEquip.gameObject); } else if (!equipment.isEquipped && CompareTag("EquipmentSlot")) // If the item is not equipped and icon has been dropped on equipment slot { EquipmentManager.instance.EquipItem(equipment); Destroy(assEquip.gameObject); } }