示例#1
0
    /// <summary>
    /// Otherwise do the same thing as MoveItem in inventory Script.
    /// But we need to reconstruct the invetory to the player.
    /// </summary>
    /// <param name="clicked"></param>
    public override void MoveItem(GameObject clicked)
    {
        base.MoveItem(clicked);

        foreach (Slot slot in equipmentSlots)
        {
            Transform equipmentTransform = player.transform.FindChild(slot.name);
            if (equipmentTransform != null)
            {
                EquipmentSlot equipment = equipmentTransform.GetComponent <EquipmentSlot>();

                if (slot.isEmpty && !equipment.IsEmpty())
                {
                    equipment.RemoveItem();
                }
                else if (!slot.isEmpty)
                {
                    if (equipment.IsEmpty() || equipment.Item.Item != slot.CurrentItem.Item)
                    {
                        equipment.SetItem(slot.CurrentItem);
                    }
                }
            }
        }
    }
示例#2
0
    /// <summary>
    /// Reconstruct single slot's equipment stats.
    /// </summary>
    /// <param name="clothing"></param>
    private void SetClothing(string clothing)
    {
        EquipmentSlot equipment = player.transform.FindChild(clothing).GetComponent <EquipmentSlot>();
        Slot          slot      = GetSlot(clothing);

        if (slot.isEmpty && !equipment.IsEmpty())
        {
            equipment.RemoveItem();
        }
        else if (!slot.isEmpty)
        {
            if (equipment.Item == null || equipment.Item.Item != slot.CurrentItem.Item)
            {
                equipment.SetItem(slot.CurrentItem);
            }
        }
    }
    public bool SlotIsEquipped(string inSlotName)
    {
        EquipmentSlot slot = GetEquipmentSlot(inSlotName);

        return(slot != null && !slot.IsEmpty());
    }