Пример #1
0
    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);
    }
Пример #2
0
 public ItemNode(ItemCue itemInfo)
     : base(itemInfo, MemoryType.Item)
 {
     status = itemInfo.Status;
     owner = itemInfo.Owner;
     durability = itemInfo.Durability;
 }