public void StoreItem(Item_ item) { if (IsInInventory(item)) //Si el ítem ya está en alguna ranura del inventario { if (!IsStored(item)) //Si no está en la ranura genérica { if (IsEquipped(item)) //Si está equipado { item.graphics_.inGame_.animator.SetTrigger("isStored"); //Dejar de mostrarlo } Slot_ oldSlot = item.occupyingSlot; oldSlot.RemoveItem(item); //Quitarlo de la ranura en que se encuentra actualmente genericSlot.AddItem(item); //Ponerlo en la ranura genérica ("almacenarlo") } else//Y si ya está en la ranura genérica ("almacenado") { Debug.Log($"Item {item.name} is already in the generic slot. It isn't necessary re-store it."); } } else//Y si no está en el inventario { float itemWeight = ((ItemStats_)item.mechanics_.stats_).weight; if ((currentWeight + itemWeight) > weightCapacity) { return; //No equiparlo porque el jugador no puede llevar tanto peso } genericSlot.AddItem(item); //Simplemente ponerlo en la ranura genérica ("almacenarlo") RefreshCurrentWeight(); item.graphics_.inGame_.animator.SetTrigger("isStored"); } }
public void ChangeItemSlot(Item_ item, Slot_ newSlot) { RemoveItem(item); newSlot.AddItem(item); }