public void PickupItem(ItemCue itmCue, bool putInHand) { ItemLabelTracker lblTracker = itmCue.CachedTransform.GetComponentInChildren<ItemLabelTracker>(); if (lblTracker != null) lblTracker.Destroy(); inventoryItems.Add(itmCue); if (itmCue.RigidBody != null) { itmCue.RigidBody.detectCollisions = false; itmCue.RigidBody.isKinematic = true; itmCue.RigidBody.useGravity = false; } itmCue.CachedTransform.parent = OwnerDetails.GripTarget; itmCue.CachedTransform.localPosition = Vector3.zero; itmCue.CachedTransform.localRotation = Quaternion.Euler(new Vector3(0.0f, 0.0f, 0.0f)); if (!putInHand) itmCue.CachedTransform.gameObject.SetActive(false); else { UnequipItem(); EquippedUID = itmCue.UniqueNodeID; itmCue.CachedTransform.gameObject.SetActive(true); } itmCue.Owner = OwnerCue; itmCue.Status = ItemStatus.Owned; OwnerMind.MemoryGraph.BindRelatedCues(itmCue); }
public ItemNode(ItemCue itemInfo) : base(itemInfo, MemoryType.Item) { status = itemInfo.Status; owner = itemInfo.Owner; durability = itemInfo.Durability; }