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(); } }
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); })); }
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; } }