Пример #1
0
        public void RemoveItem(GameObject itemObject)
        {
            if (items != null)
            {
                items.Remove(itemObject);
            }
            itemObject.SetActive(true);
            Vector3 localPos = itemObject.transform.localPosition;
            //Show.Log("POS out " + localPos);
            Vector3 playerLoc = Global.GetComponent <Character.CharacterProxy>().transform.position;

            itemObject.transform.SetParent(null);
            itemObject.transform.position = playerLoc + localPos;
            Rigidbody rb = itemObject.GetComponent <Rigidbody>();

            if (rb != null)
            {
                rb.velocity = Vector3.zero; rb.angularVelocity = Vector3.zero;
            }
            inventoryUi.RemoveItem(itemObject);
            //InventoryItem item = itemObject.GetComponent<InventoryItem>();
            //item.onRemoveFromInventory?.Invoke(this);
            InventoryItem item = itemObject.GetComponent <InventoryItem>();

            if (item != null)
            {
                item.RemoveFromCurrentInventory();
            }
        }
Пример #2
0
    public ListItemUi AddItem(GameObject itemObject)
    {
        if (pickupParticle == null)
        {
            pickupParticle = Global.Get <ParticleSystems>().Get("circdir");
        }
        if (pickupParticle != null)
        {
            pickupParticle.transform.position = itemObject.transform.position;
            pickupParticle.transform.LookAt(transform);
            pickupParticle.Emit(10);
        }
        items.Add(itemObject);
        itemObject.SetActive(false);
        itemObject.transform.SetParent(transform);
        if (inventoryUi == null)
        {
            return(null);
        }
        InventoryItem item = itemObject.GetComponent <InventoryItem>();
        string        name = item != null ? item.itemName : null;

        if (string.IsNullOrEmpty(name))
        {
            name = itemObject.name;
        }
        return(inventoryUi.AddItem(itemObject, name, () => {
            RemoveItem(itemObject);
            inventoryUi.RemoveItem(itemObject);
        }));
    }
Пример #3
0
    public void RemoveMemberAt(int index)
    {
        GameObject go = members[index];

        if (members != null)
        {
            members.RemoveAt(index);
        }
        rosterUi.RemoveItem(go);
        TeamMember teamMember = go.GetComponent <TeamMember>();

        if (teamMember != null && teamMember.onLeaveTeam != null)
        {
            teamMember.onLeaveTeam.Invoke(this);
        }
        if (index == currentIndex)
        {
            Prev();
        }
        else if (index > currentIndex)
        {
            --currentIndex;
        }
    }