예제 #1
0
    private void PickUp()
    {
        RaycastHit hitInfo;

        // Raycast from the center of the screen two units forward
        if (Physics.Raycast(Camera.main.transform.position, Camera.main.transform.forward, out hitInfo, 2))
        {
            Pickup pickup = hitInfo.transform.GetComponentInParent <Pickup>();
            if (pickup != null && !pickup.isMeal)
            {
                if (!new List <Pickup>(ammoRemaining.Keys).Contains(pickup))
                {
                    ammoRemaining.Add(pickup.Copy(), 1); // pickup.Copy?
                }
                ammoRemaining[pickup.Copy()] = 1;        // pickup.Copy?
                ammoOrder[0] = pickup.Copy();            // pickup.Copy?
                GameObject pickupObj = pickup.GrabPickup();
                if (pickupObj != null)
                {
                    heldObject  = GameObject.Instantiate(pickupObj, pickupSpawn);
                    holdingItem = true;
                }
            }
        }
    }