Exemplo n.º 1
0
 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");
     }
 }
Exemplo n.º 2
0
 public void ChangeItemSlot(Item_ item, Slot_ newSlot)
 {
     RemoveItem(item);
     newSlot.AddItem(item);
 }